|
19 | 19 | import pandas.util.testing as tm
|
20 | 20 | from pandas.compat.numpy import np_datetime64_compat
|
21 | 21 |
|
22 |
| -PROJECT_ID = os.environ.get('PROJECT_ID') |
23 |
| -PRIVATE_KEY_JSON_PATH = 'client_secrets.json' |
24 |
| -PRIVATE_KEY_JSON_CONTENTS = os.environ.get('SERVICE_ACCOUNT_KEY') |
25 |
| -# PROJECT_ID = None |
26 |
| -# PRIVATE_KEY_JSON_PATH = None |
27 |
| -# PRIVATE_KEY_JSON_CONTENTS = None |
| 22 | +PROJECT_ID = os.getenv('PROJECT_ID') |
| 23 | +PRIVATE_KEY_JSON_PATH = os.getenv('PRIVATE_KEY_JSON_PATH') |
| 24 | +PRIVATE_KEY_JSON_CONTENTS = os.getenv('PRIVATE_KEY_JSON_CONTENTS') |
28 | 25 |
|
29 | 26 | TABLE_ID = 'new_test'
|
30 | 27 |
|
@@ -1085,6 +1082,29 @@ def test_upload_data_if_table_exists_append(self):
|
1085 | 1082 | _get_project_id(), if_exists='append',
|
1086 | 1083 | private_key=_get_private_key_path())
|
1087 | 1084 |
|
| 1085 | + def test_upload_subset_columns_if_table_exists_append(self): |
| 1086 | + test_id = "16" |
| 1087 | + test_size = 10 |
| 1088 | + df = make_mixed_dataframe_v2(test_size) |
| 1089 | + df_subset_cols = df.iloc[:, :2] |
| 1090 | + |
| 1091 | + # Initialize table with sample data |
| 1092 | + gbq.to_gbq(df, self.destination_table + test_id, _get_project_id(), |
| 1093 | + chunksize=10000, private_key=_get_private_key_path()) |
| 1094 | + |
| 1095 | + # Test the if_exists parameter with value 'append' |
| 1096 | + gbq.to_gbq(df_subset_cols, |
| 1097 | + self.destination_table + test_id, _get_project_id(), |
| 1098 | + if_exists='append', private_key=_get_private_key_path()) |
| 1099 | + |
| 1100 | + sleep(30) # <- Curses Google!!! |
| 1101 | + |
| 1102 | + result = gbq.read_gbq("SELECT COUNT(*) AS num_rows FROM {0}" |
| 1103 | + .format(self.destination_table + test_id), |
| 1104 | + project_id=_get_project_id(), |
| 1105 | + private_key=_get_private_key_path()) |
| 1106 | + self.assertEqual(result['num_rows'][0], test_size * 2) |
| 1107 | + |
1088 | 1108 | def test_upload_data_if_table_exists_replace(self):
|
1089 | 1109 | test_id = "4"
|
1090 | 1110 | test_size = 10
|
|
0 commit comments