google-cloud-bigquery 3.45.1__tar.gz → 3.45.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. {google_cloud_bigquery-3.45.1/google_cloud_bigquery.egg-info → google_cloud_bigquery-3.45.2}/PKG-INFO +1 -1
  2. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/client.py +13 -3
  3. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/version.py +1 -1
  4. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2/google_cloud_bigquery.egg-info}/PKG-INFO +1 -1
  5. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_client.py +46 -24
  6. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_table.py +230 -10
  7. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/LICENSE +0 -0
  8. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/MANIFEST.in +0 -0
  9. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/README.rst +0 -0
  10. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/__init__.py +0 -0
  11. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_helpers.py +0 -0
  12. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_http.py +0 -0
  13. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_job_helpers.py +0 -0
  14. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_pandas_helpers.py +0 -0
  15. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_pyarrow_helpers.py +0 -0
  16. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_string_references.py +0 -0
  17. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_tqdm_helpers.py +0 -0
  18. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/_versions_helpers.py +0 -0
  19. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dataset.py +0 -0
  20. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dbapi/__init__.py +0 -0
  21. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dbapi/_helpers.py +0 -0
  22. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dbapi/connection.py +0 -0
  23. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dbapi/cursor.py +0 -0
  24. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dbapi/exceptions.py +0 -0
  25. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/dbapi/types.py +0 -0
  26. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/encryption_configuration.py +0 -0
  27. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/enums.py +0 -0
  28. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/exceptions.py +0 -0
  29. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/external_config.py +0 -0
  30. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/format_options.py +0 -0
  31. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/iam.py +0 -0
  32. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/job/__init__.py +0 -0
  33. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/job/base.py +0 -0
  34. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/job/copy_.py +0 -0
  35. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/job/extract.py +0 -0
  36. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/job/load.py +0 -0
  37. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/job/query.py +0 -0
  38. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/__init__.py +0 -0
  39. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/line_arg_parser/__init__.py +0 -0
  40. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/line_arg_parser/exceptions.py +0 -0
  41. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/line_arg_parser/lexer.py +0 -0
  42. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/line_arg_parser/parser.py +0 -0
  43. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/line_arg_parser/visitors.py +0 -0
  44. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/magics/magics.py +0 -0
  45. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/model.py +0 -0
  46. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/opentelemetry_tracing.py +0 -0
  47. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/py.typed +0 -0
  48. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/query.py +0 -0
  49. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/retry.py +0 -0
  50. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/routine/__init__.py +0 -0
  51. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/routine/routine.py +0 -0
  52. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/schema.py +0 -0
  53. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/standard_sql.py +0 -0
  54. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery/table.py +0 -0
  55. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/__init__.py +0 -0
  56. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/types/__init__.py +0 -0
  57. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/types/encryption_config.py +0 -0
  58. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/types/model.py +0 -0
  59. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/types/model_reference.py +0 -0
  60. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/types/standard_sql.py +0 -0
  61. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google/cloud/bigquery_v2/types/table_reference.py +0 -0
  62. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google_cloud_bigquery.egg-info/SOURCES.txt +0 -0
  63. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google_cloud_bigquery.egg-info/dependency_links.txt +0 -0
  64. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google_cloud_bigquery.egg-info/requires.txt +0 -0
  65. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/google_cloud_bigquery.egg-info/top_level.txt +0 -0
  66. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/pyproject.toml +0 -0
  67. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/setup.cfg +0 -0
  68. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/setup.py +0 -0
  69. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/__init__.py +0 -0
  70. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/characters.json +0 -0
  71. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/characters.jsonl +0 -0
  72. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/colors.avro +0 -0
  73. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/numeric_38_12.parquet +0 -0
  74. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/people.csv +0 -0
  75. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/pico.csv +0 -0
  76. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/pico_schema.json +0 -0
  77. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/scalars.csv +0 -0
  78. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/scalars.jsonl +0 -0
  79. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/scalars_extreme.jsonl +0 -0
  80. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/scalars_schema.json +0 -0
  81. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/scalars_schema_csv.json +0 -0
  82. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/data/schema.json +0 -0
  83. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/scrub_datasets.py +0 -0
  84. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/__init__.py +0 -0
  85. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/conftest.py +0 -0
  86. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/helpers.py +0 -0
  87. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_arrow.py +0 -0
  88. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_client.py +0 -0
  89. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_job_retry.py +0 -0
  90. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_list_rows.py +0 -0
  91. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_magics.py +0 -0
  92. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_pandas.py +0 -0
  93. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_query.py +0 -0
  94. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_ssl_retry.py +0 -0
  95. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/system/test_structs.py +0 -0
  96. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/__init__.py +0 -0
  97. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/_helpers/__init__.py +0 -0
  98. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/_helpers/test_cell_data_parser.py +0 -0
  99. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/_helpers/test_data_frame_cell_data_parser.py +0 -0
  100. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/_helpers/test_scalar_query_param_parser.py +0 -0
  101. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/conftest.py +0 -0
  102. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/helpers.py +0 -0
  103. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/__init__.py +0 -0
  104. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/helpers.py +0 -0
  105. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_async_job_retry.py +0 -0
  106. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_base.py +0 -0
  107. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_copy.py +0 -0
  108. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_extract.py +0 -0
  109. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_load.py +0 -0
  110. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_load_config.py +0 -0
  111. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_query.py +0 -0
  112. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_query_config.py +0 -0
  113. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_query_job_retry.py +0 -0
  114. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_query_pandas.py +0 -0
  115. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/job/test_query_stats.py +0 -0
  116. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/line_arg_parser/__init__.py +0 -0
  117. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/line_arg_parser/test_lexer.py +0 -0
  118. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/line_arg_parser/test_parser.py +0 -0
  119. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/line_arg_parser/test_visitors.py +0 -0
  120. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/model/__init__.py +0 -0
  121. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/model/test_model.py +0 -0
  122. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/model/test_model_reference.py +0 -0
  123. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/routine/__init__.py +0 -0
  124. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/routine/test_external_runtime_options.py +0 -0
  125. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/routine/test_remote_function_options.py +0 -0
  126. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/routine/test_routine.py +0 -0
  127. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/routine/test_routine_argument.py +0 -0
  128. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/routine/test_routine_reference.py +0 -0
  129. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__helpers.py +0 -0
  130. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__http.py +0 -0
  131. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__job_helpers.py +0 -0
  132. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__job_helpers_retry.py +0 -0
  133. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__pandas_helpers.py +0 -0
  134. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__pyarrow_helpers.py +0 -0
  135. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test__versions_helpers.py +0 -0
  136. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_client_bigframes.py +0 -0
  137. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_client_resumable_media_upload.py +0 -0
  138. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_client_retry.py +0 -0
  139. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_create_dataset.py +0 -0
  140. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_dataset.py +0 -0
  141. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_dbapi__helpers.py +0 -0
  142. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_dbapi_connection.py +0 -0
  143. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_dbapi_cursor.py +0 -0
  144. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_dbapi_types.py +0 -0
  145. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_delete_dataset.py +0 -0
  146. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_docs.py +0 -0
  147. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_encryption_configuration.py +0 -0
  148. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_external_config.py +0 -0
  149. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_format_options.py +0 -0
  150. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_job_retry.py +0 -0
  151. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_legacy_types.py +0 -0
  152. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_list_datasets.py +0 -0
  153. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_list_jobs.py +0 -0
  154. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_list_models.py +0 -0
  155. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_list_projects.py +0 -0
  156. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_list_routines.py +0 -0
  157. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_list_tables.py +0 -0
  158. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_magics.py +0 -0
  159. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_opentelemetry_tracing.py +0 -0
  160. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_packaging.py +0 -0
  161. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_query.py +0 -0
  162. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_query_results_format_arrow.py +0 -0
  163. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_retry.py +0 -0
  164. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_schema.py +0 -0
  165. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_signature_compatibility.py +0 -0
  166. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_standard_sql_types.py +0 -0
  167. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_string_references.py +0 -0
  168. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_table_arrow.py +0 -0
  169. {google_cloud_bigquery-3.45.1 → google_cloud_bigquery-3.45.2}/tests/unit/test_table_pandas.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigquery
3
- Version: 3.45.1
3
+ Version: 3.45.2
4
4
  Summary: Google BigQuery API client library
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  License: Apache 2.0
@@ -78,6 +78,9 @@ from google.cloud.bigquery import (
78
78
  job,
79
79
  )
80
80
  from google.cloud.bigquery import exceptions as bq_exceptions
81
+ from google.cloud.bigquery import (
82
+ version as bq_version,
83
+ )
81
84
  from google.cloud.bigquery._helpers import (
82
85
  _DEFAULT_HOST,
83
86
  _DEFAULT_HOST_TEMPLATE,
@@ -148,7 +151,7 @@ _MULTIPART_URL_TEMPLATE = _BASE_UPLOAD_TEMPLATE + "multipart"
148
151
  _RESUMABLE_URL_TEMPLATE = _BASE_UPLOAD_TEMPLATE + "resumable"
149
152
  _GENERIC_CONTENT_TYPE = "*/*"
150
153
  _READ_LESS_THAN_SIZE = (
151
- "Size {:d} was specified but the file-like object only had " "{:d} bytes remaining."
154
+ "Size {:d} was specified but the file-like object only had {:d} bytes remaining."
152
155
  )
153
156
  _NEED_TABLE_ARGUMENT = (
154
157
  "The table argument should be a table ID string, Table, or TableReference"
@@ -641,9 +644,16 @@ class Client(ClientWithProject):
641
644
  pandas_gbq = None # type: ignore
642
645
 
643
646
  if pandas_gbq is None:
644
- user_agent = "pandas-gbq/0.0.0"
647
+ # Even if pandas-gbq isn't installed, attribute all
648
+ # to_dataframe/to_arrow usage the same as we do the recommended
649
+ # (pandas-gbq) code paths.
650
+ pandas_user_agent = "pandas-gbq/0.0.0"
645
651
  else:
646
- user_agent = f"pandas-gbq/{pandas_gbq.__version__}"
652
+ pandas_user_agent = f"pandas-gbq/{pandas_gbq.__version__}"
653
+
654
+ # Track the google-cloud-bigquery version as "legacy" because this code
655
+ # path is intended to be migrated to pandas-gbq itself.
656
+ user_agent = f"legacy-gcb/{bq_version.__version__} {pandas_user_agent}"
647
657
 
648
658
  if client_info is None:
649
659
  amended_client_info = google.api_core.gapic_v1.client_info.ClientInfo(
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- __version__ = "3.45.1"
15
+ __version__ = "3.45.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigquery
3
- Version: 3.45.1
3
+ Version: 3.45.2
4
4
  Summary: Google BigQuery API client library
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  License: Apache 2.0
@@ -54,7 +54,7 @@ import google.cloud.bigquery.retry
54
54
  import google.cloud.bigquery.table
55
55
  from google.api_core import client_info
56
56
  from google.cloud import bigquery
57
- from google.cloud.bigquery import ParquetOptions, exceptions
57
+ from google.cloud.bigquery import ParquetOptions, exceptions, version
58
58
  from google.cloud.bigquery.dataset import Dataset, DatasetReference
59
59
  from google.cloud.bigquery.enums import DatasetView, TimestampPrecision, UpdateMode
60
60
  from google.cloud.bigquery.retry import DEFAULT_TIMEOUT
@@ -840,6 +840,9 @@ class TestClient(unittest.TestCase):
840
840
  self.assertIs(kwargs["client_options"], mock.sentinel.client_options)
841
841
  self.assertIn("test-agent", kwargs["client_info"].user_agent)
842
842
  self.assertIn("pandas-gbq", kwargs["client_info"].user_agent)
843
+ self.assertIn(
844
+ f"legacy-gcb/{version.__version__}", kwargs["client_info"].user_agent
845
+ )
843
846
 
844
847
  def test_ensure_bqstorage_client_pandas_gbq_installed(self):
845
848
  bigquery_storage = pytest.importorskip("google.cloud.bigquery_storage")
@@ -857,15 +860,17 @@ class TestClient(unittest.TestCase):
857
860
  mock_pandas = mock.Mock()
858
861
  mock_pandas.__version__ = "0.13.0"
859
862
 
860
- with mock.patch(
861
- "google.cloud.bigquery_storage.BigQueryReadClient", mock_client
862
- ), mock.patch.dict(sys.modules, {"pandas_gbq": mock_pandas}):
863
+ with (
864
+ mock.patch("google.cloud.bigquery_storage.BigQueryReadClient", mock_client),
865
+ mock.patch.dict(sys.modules, {"pandas_gbq": mock_pandas}),
866
+ ):
863
867
  client._ensure_bqstorage_client(client_info=client_info)
864
868
 
865
869
  mock_client.assert_called_once()
866
870
  _, kwargs = mock_client.call_args
867
871
  self.assertEqual(
868
- kwargs["client_info"].user_agent, "app-agent pandas-gbq/0.13.0"
872
+ kwargs["client_info"].user_agent,
873
+ f"app-agent legacy-gcb/{version.__version__} pandas-gbq/0.13.0",
869
874
  )
870
875
 
871
876
  def test_ensure_bqstorage_client_pandas_gbq_not_installed(self):
@@ -881,14 +886,18 @@ class TestClient(unittest.TestCase):
881
886
  user_agent="app-agent"
882
887
  )
883
888
 
884
- with mock.patch(
885
- "google.cloud.bigquery_storage.BigQueryReadClient", mock_client
886
- ), mock.patch.dict(sys.modules, {"pandas_gbq": None}):
889
+ with (
890
+ mock.patch("google.cloud.bigquery_storage.BigQueryReadClient", mock_client),
891
+ mock.patch.dict(sys.modules, {"pandas_gbq": None}),
892
+ ):
887
893
  client._ensure_bqstorage_client(client_info=client_info)
888
894
 
889
895
  mock_client.assert_called_once()
890
896
  _, kwargs = mock_client.call_args
891
- self.assertEqual(kwargs["client_info"].user_agent, "app-agent pandas-gbq/0.0.0")
897
+ self.assertEqual(
898
+ kwargs["client_info"].user_agent,
899
+ f"app-agent legacy-gcb/{version.__version__} pandas-gbq/0.0.0",
900
+ )
892
901
 
893
902
  def test_ensure_bqstorage_client_client_info_none(self):
894
903
  bigquery_storage = pytest.importorskip("google.cloud.bigquery_storage")
@@ -898,14 +907,18 @@ class TestClient(unittest.TestCase):
898
907
  creds = _make_credentials()
899
908
  client = self._make_one(project=self.PROJECT, credentials=creds)
900
909
 
901
- with mock.patch(
902
- "google.cloud.bigquery_storage.BigQueryReadClient", mock_client
903
- ), mock.patch.dict(sys.modules, {"pandas_gbq": None}):
910
+ with (
911
+ mock.patch("google.cloud.bigquery_storage.BigQueryReadClient", mock_client),
912
+ mock.patch.dict(sys.modules, {"pandas_gbq": None}),
913
+ ):
904
914
  client._ensure_bqstorage_client(client_info=None)
905
915
 
906
916
  mock_client.assert_called_once()
907
917
  _, kwargs = mock_client.call_args
908
- self.assertEqual(kwargs["client_info"].user_agent, "pandas-gbq/0.0.0")
918
+ self.assertEqual(
919
+ kwargs["client_info"].user_agent,
920
+ f"legacy-gcb/{version.__version__} pandas-gbq/0.0.0",
921
+ )
909
922
 
910
923
  def test_ensure_bqstorage_client_client_info_user_agent_none(self):
911
924
  bigquery_storage = pytest.importorskip("google.cloud.bigquery_storage")
@@ -919,14 +932,18 @@ class TestClient(unittest.TestCase):
919
932
 
920
933
  client_info = google.api_core.gapic_v1.client_info.ClientInfo(user_agent=None)
921
934
 
922
- with mock.patch(
923
- "google.cloud.bigquery_storage.BigQueryReadClient", mock_client
924
- ), mock.patch.dict(sys.modules, {"pandas_gbq": None}):
935
+ with (
936
+ mock.patch("google.cloud.bigquery_storage.BigQueryReadClient", mock_client),
937
+ mock.patch.dict(sys.modules, {"pandas_gbq": None}),
938
+ ):
925
939
  client._ensure_bqstorage_client(client_info=client_info)
926
940
 
927
941
  mock_client.assert_called_once()
928
942
  _, kwargs = mock_client.call_args
929
- self.assertEqual(kwargs["client_info"].user_agent, "pandas-gbq/0.0.0")
943
+ self.assertEqual(
944
+ kwargs["client_info"].user_agent,
945
+ f"legacy-gcb/{version.__version__} pandas-gbq/0.0.0",
946
+ )
930
947
 
931
948
  def test_ensure_bqstorage_client_missing_dependency(self):
932
949
  creds = _make_credentials()
@@ -9157,9 +9174,10 @@ class TestClientUpload(object):
9157
9174
  SchemaField("unknown_col", "BYTES"),
9158
9175
  )
9159
9176
  job_config = job.LoadJobConfig(schema=schema)
9160
- with load_patch as load_table_from_file, pytest.raises(
9161
- ValueError
9162
- ) as exc_context:
9177
+ with (
9178
+ load_patch as load_table_from_file,
9179
+ pytest.raises(ValueError) as exc_context,
9180
+ ):
9163
9181
  client.load_table_from_dataframe(
9164
9182
  dataframe, self.TABLE_REF, job_config=job_config, location=self.LOCATION
9165
9183
  )
@@ -9429,9 +9447,13 @@ class TestClientUpload(object):
9429
9447
  get_table_patch = mock.patch(
9430
9448
  "google.cloud.bigquery.client.Client.get_table", autospec=True
9431
9449
  )
9432
- with load_patch, get_table_patch, pytest.warns(
9433
- PendingDeprecationWarning,
9434
- match="Loading DataFrames via google-cloud-bigquery is deprecated",
9450
+ with (
9451
+ load_patch,
9452
+ get_table_patch,
9453
+ pytest.warns(
9454
+ PendingDeprecationWarning,
9455
+ match="Loading DataFrames via google-cloud-bigquery is deprecated",
9456
+ ),
9435
9457
  ):
9436
9458
  client.load_table_from_dataframe(dataframe, self.TABLE_REF)
9437
9459
 
@@ -9853,7 +9875,7 @@ class TestClientUpload(object):
9853
9875
 
9854
9876
  client = self._make_client()
9855
9877
 
9856
- emoji = "\U0001F3E6"
9878
+ emoji = "\U0001f3e6"
9857
9879
  json_row = {"emoji": emoji}
9858
9880
  json_rows = [json_row]
9859
9881
 
@@ -16,6 +16,7 @@ import copy
16
16
  import datetime
17
17
  import logging
18
18
  import re
19
+ import sys
19
20
  import time
20
21
  import types
21
22
  import unittest
@@ -376,9 +377,7 @@ class TestTableReference(unittest.TestCase):
376
377
  def test___repr__(self):
377
378
  dataset = DatasetReference("project1", "dataset1")
378
379
  table1 = self._make_one(dataset, "table1")
379
- expected = (
380
- "TableReference(DatasetReference('project1', 'dataset1'), " "'table1')"
381
- )
380
+ expected = "TableReference(DatasetReference('project1', 'dataset1'), 'table1')"
382
381
  self.assertEqual(repr(table1), expected)
383
382
 
384
383
  def test___str__(self):
@@ -1831,9 +1830,7 @@ class TestTable(unittest.TestCase, _SchemaBase):
1831
1830
  dataset = DatasetReference("project1", "dataset1")
1832
1831
  table1 = self._make_one(TableReference(dataset, "table1"))
1833
1832
  expected = (
1834
- "Table(TableReference("
1835
- "DatasetReference('project1', 'dataset1'), "
1836
- "'table1'))"
1833
+ "Table(TableReference(DatasetReference('project1', 'dataset1'), 'table1'))"
1837
1834
  )
1838
1835
  self.assertEqual(repr(table1), expected)
1839
1836
 
@@ -2893,7 +2890,8 @@ class TestRowIterator(unittest.TestCase):
2893
2890
 
2894
2891
  def test__should_use_bqstorage_returns_false_if_page_token_set(self):
2895
2892
  iterator = self._make_one(
2896
- page_token="abc", first_page_response=None # not cached
2893
+ page_token="abc",
2894
+ first_page_response=None, # not cached
2897
2895
  )
2898
2896
  result = iterator._should_use_bqstorage(
2899
2897
  bqstorage_client=None, create_bqstorage_client=True
@@ -2902,7 +2900,8 @@ class TestRowIterator(unittest.TestCase):
2902
2900
 
2903
2901
  def test__should_use_bqstorage_returns_false_if_max_results_set(self):
2904
2902
  iterator = self._make_one(
2905
- max_results=10, first_page_response=None # not cached
2903
+ max_results=10,
2904
+ first_page_response=None, # not cached
2906
2905
  )
2907
2906
  result = iterator._should_use_bqstorage(
2908
2907
  bqstorage_client=None, create_bqstorage_client=True
@@ -3548,6 +3547,117 @@ class TestRowIterator(unittest.TestCase):
3548
3547
  mock_client._ensure_bqstorage_client.assert_called_once()
3549
3548
  bqstorage_client._transport.close.assert_called_once()
3550
3549
 
3550
+ def test_to_arrow_create_read_session_user_agent(self):
3551
+ pytest.importorskip("numpy")
3552
+ pytest.importorskip("pyarrow")
3553
+ pytest.importorskip("google.cloud.bigquery_storage")
3554
+ import google.auth.credentials
3555
+ from google.cloud import bigquery_storage
3556
+ from google.cloud.bigquery import client as client_module
3557
+ from google.cloud.bigquery import schema, version
3558
+ from google.cloud.bigquery import table as mut
3559
+ from google.cloud.bigquery_storage_v1.services.big_query_read.transports import (
3560
+ grpc as big_query_read_grpc_transport,
3561
+ )
3562
+
3563
+ mock_channel = mock.MagicMock()
3564
+ mock_unary = mock.MagicMock()
3565
+ mock_channel.unary_unary.return_value = mock_unary
3566
+ mock_session = bigquery_storage.types.ReadSession(
3567
+ name="projects/proj/locations/us/sessions/s1",
3568
+ streams=[],
3569
+ )
3570
+ mock_unary.with_call.return_value = (mock_session, mock.MagicMock())
3571
+
3572
+ mock_pandas_gbq = mock.Mock()
3573
+ mock_pandas_gbq.__version__ = "0.13.0"
3574
+
3575
+ with (
3576
+ mock.patch.object(
3577
+ big_query_read_grpc_transport.BigQueryReadGrpcTransport,
3578
+ "create_channel",
3579
+ return_value=mock_channel,
3580
+ ),
3581
+ mock.patch.dict(sys.modules, {"pandas_gbq": mock_pandas_gbq}),
3582
+ ):
3583
+ client = client_module.Client(
3584
+ project="proj",
3585
+ credentials=mock.Mock(spec=google.auth.credentials.Credentials),
3586
+ )
3587
+ row_iterator = mut.RowIterator(
3588
+ client,
3589
+ None, # api_request: ignored
3590
+ None, # path: ignored
3591
+ [schema.SchemaField("colA", "STRING")],
3592
+ table=mut.TableReference.from_string("proj.dset.tbl"),
3593
+ total_rows=0,
3594
+ )
3595
+ row_iterator.to_arrow(create_bqstorage_client=True)
3596
+
3597
+ mock_unary.with_call.assert_called_once()
3598
+ _, kwargs = mock_unary.with_call.call_args
3599
+ metadata_dict = dict(kwargs["metadata"])
3600
+ self.assertIn("x-goog-api-client", metadata_dict)
3601
+ user_agent = metadata_dict["x-goog-api-client"]
3602
+ self.assertIn(
3603
+ f"legacy-gcb/{version.__version__} pandas-gbq/0.13.0",
3604
+ user_agent,
3605
+ )
3606
+
3607
+ def test_to_arrow_create_read_session_user_agent_pandas_gbq_not_installed(self):
3608
+ pytest.importorskip("numpy")
3609
+ pytest.importorskip("pyarrow")
3610
+ pytest.importorskip("google.cloud.bigquery_storage")
3611
+ import google.auth.credentials
3612
+ from google.cloud import bigquery_storage
3613
+ from google.cloud.bigquery import client as client_module
3614
+ from google.cloud.bigquery import schema, version
3615
+ from google.cloud.bigquery import table as mut
3616
+ from google.cloud.bigquery_storage_v1.services.big_query_read.transports import (
3617
+ grpc as big_query_read_grpc_transport,
3618
+ )
3619
+
3620
+ mock_channel = mock.MagicMock()
3621
+ mock_unary = mock.MagicMock()
3622
+ mock_channel.unary_unary.return_value = mock_unary
3623
+ mock_session = bigquery_storage.types.ReadSession(
3624
+ name="projects/proj/locations/us/sessions/s1",
3625
+ streams=[],
3626
+ )
3627
+ mock_unary.with_call.return_value = (mock_session, mock.MagicMock())
3628
+
3629
+ with (
3630
+ mock.patch.object(
3631
+ big_query_read_grpc_transport.BigQueryReadGrpcTransport,
3632
+ "create_channel",
3633
+ return_value=mock_channel,
3634
+ ),
3635
+ mock.patch.dict(sys.modules, {"pandas_gbq": None}),
3636
+ ):
3637
+ client = client_module.Client(
3638
+ project="proj",
3639
+ credentials=mock.Mock(spec=google.auth.credentials.Credentials),
3640
+ )
3641
+ row_iterator = mut.RowIterator(
3642
+ client,
3643
+ None, # api_request: ignored
3644
+ None, # path: ignored
3645
+ [schema.SchemaField("colA", "STRING")],
3646
+ table=mut.TableReference.from_string("proj.dset.tbl"),
3647
+ total_rows=0,
3648
+ )
3649
+ row_iterator.to_arrow(create_bqstorage_client=True)
3650
+
3651
+ mock_unary.with_call.assert_called_once()
3652
+ _, kwargs = mock_unary.with_call.call_args
3653
+ metadata_dict = dict(kwargs["metadata"])
3654
+ self.assertIn("x-goog-api-client", metadata_dict)
3655
+ user_agent = metadata_dict["x-goog-api-client"]
3656
+ self.assertIn(
3657
+ f"legacy-gcb/{version.__version__} pandas-gbq/0.0.0",
3658
+ user_agent,
3659
+ )
3660
+
3551
3661
  def test_to_arrow_ensure_bqstorage_client_wo_bqstorage(self):
3552
3662
  pytest.importorskip("numpy")
3553
3663
  pyarrow = pytest.importorskip(
@@ -4903,6 +5013,117 @@ class TestRowIterator(unittest.TestCase):
4903
5013
  mock_client._ensure_bqstorage_client.assert_called_once()
4904
5014
  bqstorage_client._transport.close.assert_called_once()
4905
5015
 
5016
+ def test_to_dataframe_create_read_session_user_agent(self):
5017
+ pytest.importorskip("numpy")
5018
+ pytest.importorskip("pandas")
5019
+ pytest.importorskip("google.cloud.bigquery_storage")
5020
+ import google.auth.credentials
5021
+ from google.cloud import bigquery_storage
5022
+ from google.cloud.bigquery import client as client_module
5023
+ from google.cloud.bigquery import schema, version
5024
+ from google.cloud.bigquery import table as mut
5025
+ from google.cloud.bigquery_storage_v1.services.big_query_read.transports import (
5026
+ grpc as big_query_read_grpc_transport,
5027
+ )
5028
+
5029
+ mock_channel = mock.MagicMock()
5030
+ mock_unary = mock.MagicMock()
5031
+ mock_channel.unary_unary.return_value = mock_unary
5032
+ mock_session = bigquery_storage.types.ReadSession(
5033
+ name="projects/proj/locations/us/sessions/s1",
5034
+ streams=[],
5035
+ )
5036
+ mock_unary.with_call.return_value = (mock_session, mock.MagicMock())
5037
+
5038
+ mock_pandas_gbq = mock.Mock()
5039
+ mock_pandas_gbq.__version__ = "0.13.0"
5040
+
5041
+ with (
5042
+ mock.patch.object(
5043
+ big_query_read_grpc_transport.BigQueryReadGrpcTransport,
5044
+ "create_channel",
5045
+ return_value=mock_channel,
5046
+ ),
5047
+ mock.patch.dict(sys.modules, {"pandas_gbq": mock_pandas_gbq}),
5048
+ ):
5049
+ client = client_module.Client(
5050
+ project="proj",
5051
+ credentials=mock.Mock(spec=google.auth.credentials.Credentials),
5052
+ )
5053
+ row_iterator = mut.RowIterator(
5054
+ client,
5055
+ None, # api_request: ignored
5056
+ None, # path: ignored
5057
+ [schema.SchemaField("colA", "STRING")],
5058
+ table=mut.TableReference.from_string("proj.dset.tbl"),
5059
+ total_rows=0,
5060
+ )
5061
+ row_iterator.to_dataframe(create_bqstorage_client=True)
5062
+
5063
+ mock_unary.with_call.assert_called_once()
5064
+ _, kwargs = mock_unary.with_call.call_args
5065
+ metadata_dict = dict(kwargs["metadata"])
5066
+ self.assertIn("x-goog-api-client", metadata_dict)
5067
+ user_agent = metadata_dict["x-goog-api-client"]
5068
+ self.assertIn(
5069
+ f"legacy-gcb/{version.__version__} pandas-gbq/0.13.0",
5070
+ user_agent,
5071
+ )
5072
+
5073
+ def test_to_dataframe_create_read_session_user_agent_pandas_gbq_not_installed(self):
5074
+ pytest.importorskip("numpy")
5075
+ pytest.importorskip("pandas")
5076
+ pytest.importorskip("google.cloud.bigquery_storage")
5077
+ import google.auth.credentials
5078
+ from google.cloud import bigquery_storage
5079
+ from google.cloud.bigquery import client as client_module
5080
+ from google.cloud.bigquery import schema, version
5081
+ from google.cloud.bigquery import table as mut
5082
+ from google.cloud.bigquery_storage_v1.services.big_query_read.transports import (
5083
+ grpc as big_query_read_grpc_transport,
5084
+ )
5085
+
5086
+ mock_channel = mock.MagicMock()
5087
+ mock_unary = mock.MagicMock()
5088
+ mock_channel.unary_unary.return_value = mock_unary
5089
+ mock_session = bigquery_storage.types.ReadSession(
5090
+ name="projects/proj/locations/us/sessions/s1",
5091
+ streams=[],
5092
+ )
5093
+ mock_unary.with_call.return_value = (mock_session, mock.MagicMock())
5094
+
5095
+ with (
5096
+ mock.patch.object(
5097
+ big_query_read_grpc_transport.BigQueryReadGrpcTransport,
5098
+ "create_channel",
5099
+ return_value=mock_channel,
5100
+ ),
5101
+ mock.patch.dict(sys.modules, {"pandas_gbq": None}),
5102
+ ):
5103
+ client = client_module.Client(
5104
+ project="proj",
5105
+ credentials=mock.Mock(spec=google.auth.credentials.Credentials),
5106
+ )
5107
+ row_iterator = mut.RowIterator(
5108
+ client,
5109
+ None, # api_request: ignored
5110
+ None, # path: ignored
5111
+ [schema.SchemaField("colA", "STRING")],
5112
+ table=mut.TableReference.from_string("proj.dset.tbl"),
5113
+ total_rows=0,
5114
+ )
5115
+ row_iterator.to_dataframe(create_bqstorage_client=True)
5116
+
5117
+ mock_unary.with_call.assert_called_once()
5118
+ _, kwargs = mock_unary.with_call.call_args
5119
+ metadata_dict = dict(kwargs["metadata"])
5120
+ self.assertIn("x-goog-api-client", metadata_dict)
5121
+ user_agent = metadata_dict["x-goog-api-client"]
5122
+ self.assertIn(
5123
+ f"legacy-gcb/{version.__version__} pandas-gbq/0.0.0",
5124
+ user_agent,
5125
+ )
5126
+
4906
5127
  def test_to_dataframe_w_bqstorage_no_streams(self):
4907
5128
  pytest.importorskip("numpy")
4908
5129
  pytest.importorskip("pandas")
@@ -5622,8 +5843,7 @@ class TestRowIterator(unittest.TestCase):
5622
5843
  with self.assertRaisesRegex(
5623
5844
  TypeError,
5624
5845
  re.escape(
5625
- "There must be at least one GEOGRAPHY column"
5626
- " to create a GeoDataFrame"
5846
+ "There must be at least one GEOGRAPHY column to create a GeoDataFrame"
5627
5847
  ),
5628
5848
  ):
5629
5849
  row_iterator.to_geodataframe(create_bqstorage_client=False)