24
24
import google .api_core .retry
25
25
import pkg_resources
26
26
import pytest
27
- import pytz
28
27
29
28
from google .cloud import bigquery
30
- from google .cloud .bigquery ._pandas_helpers import _BIGNUMERIC_SUPPORT
31
29
from . import helpers
32
30
33
31
@@ -64,7 +62,7 @@ def test_load_table_from_dataframe_w_automatic_schema(bigquery_client, dataset_i
64
62
datetime .datetime (2012 , 3 , 14 , 15 , 16 ),
65
63
],
66
64
dtype = "datetime64[ns]" ,
67
- ).dt .tz_localize (pytz .utc ),
65
+ ).dt .tz_localize (datetime . timezone .utc ),
68
66
),
69
67
(
70
68
"dt_col" ,
@@ -189,12 +187,11 @@ def test_load_table_from_dataframe_w_nulls(bigquery_client, dataset_id):
189
187
bigquery .SchemaField ("geo_col" , "GEOGRAPHY" ),
190
188
bigquery .SchemaField ("int_col" , "INTEGER" ),
191
189
bigquery .SchemaField ("num_col" , "NUMERIC" ),
190
+ bigquery .SchemaField ("bignum_col" , "BIGNUMERIC" ),
192
191
bigquery .SchemaField ("str_col" , "STRING" ),
193
192
bigquery .SchemaField ("time_col" , "TIME" ),
194
193
bigquery .SchemaField ("ts_col" , "TIMESTAMP" ),
195
194
)
196
- if _BIGNUMERIC_SUPPORT :
197
- scalars_schema += (bigquery .SchemaField ("bignum_col" , "BIGNUMERIC" ),)
198
195
199
196
table_schema = scalars_schema + (
200
197
# TODO: Array columns can't be read due to NULLABLE versus REPEATED
@@ -216,12 +213,11 @@ def test_load_table_from_dataframe_w_nulls(bigquery_client, dataset_id):
216
213
("geo_col" , nulls ),
217
214
("int_col" , nulls ),
218
215
("num_col" , nulls ),
216
+ ("bignum_col" , nulls ),
219
217
("str_col" , nulls ),
220
218
("time_col" , nulls ),
221
219
("ts_col" , nulls ),
222
220
]
223
- if _BIGNUMERIC_SUPPORT :
224
- df_data .append (("bignum_col" , nulls ))
225
221
df_data = collections .OrderedDict (df_data )
226
222
dataframe = pandas .DataFrame (df_data , columns = df_data .keys ())
227
223
@@ -297,12 +293,11 @@ def test_load_table_from_dataframe_w_explicit_schema(bigquery_client, dataset_id
297
293
bigquery .SchemaField ("geo_col" , "GEOGRAPHY" ),
298
294
bigquery .SchemaField ("int_col" , "INTEGER" ),
299
295
bigquery .SchemaField ("num_col" , "NUMERIC" ),
296
+ bigquery .SchemaField ("bignum_col" , "BIGNUMERIC" ),
300
297
bigquery .SchemaField ("str_col" , "STRING" ),
301
298
bigquery .SchemaField ("time_col" , "TIME" ),
302
299
bigquery .SchemaField ("ts_col" , "TIMESTAMP" ),
303
300
)
304
- if _BIGNUMERIC_SUPPORT :
305
- scalars_schema += (bigquery .SchemaField ("bignum_col" , "BIGNUMERIC" ),)
306
301
307
302
table_schema = scalars_schema + (
308
303
# TODO: Array columns can't be read due to NULLABLE versus REPEATED
@@ -340,6 +335,14 @@ def test_load_table_from_dataframe_w_explicit_schema(bigquery_client, dataset_id
340
335
decimal .Decimal ("99999999999999999999999999999.999999999" ),
341
336
],
342
337
),
338
+ (
339
+ "bignum_col" ,
340
+ [
341
+ decimal .Decimal ("-{d38}.{d38}" .format (d38 = "9" * 38 )),
342
+ None ,
343
+ decimal .Decimal ("{d38}.{d38}" .format (d38 = "9" * 38 )),
344
+ ],
345
+ ),
343
346
("str_col" , ["abc" , None , "def" ]),
344
347
(
345
348
"time_col" ,
@@ -348,23 +351,14 @@ def test_load_table_from_dataframe_w_explicit_schema(bigquery_client, dataset_id
348
351
(
349
352
"ts_col" ,
350
353
[
351
- datetime .datetime (1 , 1 , 1 , 0 , 0 , 0 , tzinfo = pytz .utc ),
354
+ datetime .datetime (1 , 1 , 1 , 0 , 0 , 0 , tzinfo = datetime . timezone .utc ),
352
355
None ,
353
- datetime .datetime (9999 , 12 , 31 , 23 , 59 , 59 , 999999 , tzinfo = pytz .utc ),
356
+ datetime .datetime (
357
+ 9999 , 12 , 31 , 23 , 59 , 59 , 999999 , tzinfo = datetime .timezone .utc
358
+ ),
354
359
],
355
360
),
356
361
]
357
- if _BIGNUMERIC_SUPPORT :
358
- df_data .append (
359
- (
360
- "bignum_col" ,
361
- [
362
- decimal .Decimal ("-{d38}.{d38}" .format (d38 = "9" * 38 )),
363
- None ,
364
- decimal .Decimal ("{d38}.{d38}" .format (d38 = "9" * 38 )),
365
- ],
366
- )
367
- )
368
362
df_data = collections .OrderedDict (df_data )
369
363
dataframe = pandas .DataFrame (df_data , dtype = "object" , columns = df_data .keys ())
370
364
@@ -484,10 +478,10 @@ def test_load_table_from_dataframe_w_explicit_schema_source_format_csv(
484
478
(
485
479
"ts_col" ,
486
480
[
487
- datetime .datetime (1 , 1 , 1 , 0 , 0 , 0 , tzinfo = pytz .utc ),
481
+ datetime .datetime (1 , 1 , 1 , 0 , 0 , 0 , tzinfo = datetime . timezone .utc ),
488
482
None ,
489
483
datetime .datetime (
490
- 9999 , 12 , 31 , 23 , 59 , 59 , 999999 , tzinfo = pytz .utc
484
+ 9999 , 12 , 31 , 23 , 59 , 59 , 999999 , tzinfo = datetime . timezone .utc
491
485
),
492
486
],
493
487
),
0 commit comments