1717
1818
1919@pytest .mark .parametrize ("db_type" , ["mysql" , "redshift" , "postgresql" ])
20- def test_sql (redshift_table , databases_parameters , db_type ):
20+ def test_sql (redshift_table , postgresql_table , mysql_table , databases_parameters , db_type ):
21+ if db_type == "postgresql" :
22+ table = postgresql_table
23+ elif db_type == "mysql" :
24+ table = mysql_table
25+ else :
26+ table = redshift_table
2127 df = get_df ()
2228 if db_type == "redshift" :
2329 df .drop (["binary" ], axis = 1 , inplace = True )
@@ -26,7 +32,7 @@ def test_sql(redshift_table, databases_parameters, db_type):
2632 wr .db .to_sql (
2733 df = df ,
2834 con = engine ,
29- name = redshift_table ,
35+ name = table ,
3036 schema = databases_parameters [db_type ]["schema" ],
3137 if_exists = "replace" ,
3238 index = index ,
@@ -36,7 +42,7 @@ def test_sql(redshift_table, databases_parameters, db_type):
3642 dtype = {"iint32" : sqlalchemy .types .Integer },
3743 )
3844 df = wr .db .read_sql_query (
39- sql = f"SELECT * FROM { databases_parameters [db_type ]['schema' ]} .{ redshift_table } " , con = engine
45+ sql = f"SELECT * FROM { databases_parameters [db_type ]['schema' ]} .{ table } " , con = engine
4046 )
4147 ensure_data_types (df , has_list = False )
4248 engine = wr .db .get_engine (
@@ -49,7 +55,7 @@ def test_sql(redshift_table, databases_parameters, db_type):
4955 echo = False ,
5056 )
5157 dfs = wr .db .read_sql_query (
52- sql = f"SELECT * FROM { databases_parameters [db_type ]['schema' ]} .{ redshift_table } " ,
58+ sql = f"SELECT * FROM { databases_parameters [db_type ]['schema' ]} .{ table } " ,
5359 con = engine ,
5460 chunksize = 1 ,
5561 dtype = {
@@ -76,7 +82,7 @@ def test_sql(redshift_table, databases_parameters, db_type):
7682 wr .db .to_sql (
7783 df = pd .DataFrame ({"col0" : [1 , 2 , 3 ]}, dtype = "Int32" ),
7884 con = engine ,
79- name = redshift_table ,
85+ name = table ,
8086 schema = databases_parameters [db_type ]["schema" ],
8187 if_exists = "replace" ,
8288 index = True ,
@@ -85,7 +91,7 @@ def test_sql(redshift_table, databases_parameters, db_type):
8591 schema = None
8692 if db_type == "postgresql" :
8793 schema = databases_parameters [db_type ]["schema" ]
88- df = wr .db .read_sql_table (con = engine , table = redshift_table , schema = schema , index_col = "index" )
94+ df = wr .db .read_sql_table (con = engine , table = table , schema = schema , index_col = "index" )
8995 assert df .shape == (3 , 1 )
9096
9197
@@ -373,8 +379,13 @@ def test_redshift_unload_extras(bucket, path, redshift_table, databases_paramete
373379
374380
375381@pytest .mark .parametrize ("db_type" , ["mysql" , "redshift" , "postgresql" ])
376- def test_to_sql_cast (redshift_table , databases_parameters , db_type ):
377- table = redshift_table
382+ def test_to_sql_cast (redshift_table , postgresql_table , mysql_table , databases_parameters , db_type ):
383+ if db_type == "postgresql" :
384+ table = postgresql_table
385+ elif db_type == "mysql" :
386+ table = mysql_table
387+ else :
388+ table = redshift_table
378389 schema = databases_parameters [db_type ]["schema" ]
379390 df = pd .DataFrame (
380391 {
@@ -403,8 +414,8 @@ def test_to_sql_cast(redshift_table, databases_parameters, db_type):
403414 assert df .equals (df2 )
404415
405416
406- def test_uuid (redshift_table , databases_parameters ):
407- table = redshift_table
417+ def test_uuid (postgresql_table , databases_parameters ):
418+ table = postgresql_table
408419 schema = databases_parameters ["postgresql" ]["schema" ]
409420 engine = wr .catalog .get_engine (connection = "aws-data-wrangler-postgresql" )
410421 df = pd .DataFrame (
@@ -436,8 +447,13 @@ def test_uuid(redshift_table, databases_parameters):
436447
437448
438449@pytest .mark .parametrize ("db_type" , ["mysql" , "redshift" , "postgresql" ])
439- def test_null (redshift_table , databases_parameters , db_type ):
440- table = redshift_table
450+ def test_null (redshift_table , postgresql_table , mysql_table , databases_parameters , db_type ):
451+ if db_type == "postgresql" :
452+ table = postgresql_table
453+ elif db_type == "mysql" :
454+ table = mysql_table
455+ else :
456+ table = redshift_table
441457 schema = databases_parameters [db_type ]["schema" ]
442458 engine = wr .catalog .get_engine (connection = f"aws-data-wrangler-{ db_type } " )
443459 df = pd .DataFrame ({"id" : [1 , 2 , 3 ], "nothing" : [None , None , None ]})
0 commit comments