From 1fe8ae76c8af13948d1bd9af8b559fd5de737ce6 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Mon, 27 Jul 2026 14:28:27 +0000 Subject: [PATCH 1/2] chore: regenerate google-cloud-bigtable --- librarian.yaml | 1 - .../cloud/bigtable_admin_v2/__init__.py | 18 ++++++++++++++++++ .../bigtable_instance_admin/async_client.py | 4 +--- .../bigtable_instance_admin/client.py | 4 +--- .../transports/base.py | 4 +--- .../transports/rest.py | 3 +-- .../bigtable_table_admin/async_client.py | 4 +--- .../services/bigtable_table_admin/client.py | 4 +--- .../bigtable_table_admin/transports/base.py | 4 +--- .../bigtable_table_admin/transports/rest.py | 3 +-- .../google/cloud/bigtable_v2/__init__.py | 19 +++++++++++++++++++ .../services/bigtable/async_client.py | 4 +--- .../bigtable_v2/services/bigtable/client.py | 4 +--- .../services/bigtable/transports/base.py | 4 +--- .../services/bigtable/transports/rest.py | 3 +-- packages/google-cloud-bigtable/noxfile.py | 6 ++++-- packages/google-cloud-bigtable/setup.py | 2 +- .../testing/constraints-3.10.txt | 2 +- .../test_bigtable_instance_admin.py | 18 ++++++++++++++++-- .../test_bigtable_table_admin.py | 18 ++++++++++++++++-- .../unit/gapic/bigtable_v2/test_bigtable.py | 18 ++++++++++++++++-- 21 files changed, 103 insertions(+), 44 deletions(-) diff --git a/librarian.yaml b/librarian.yaml index 1cc6c2fcbef0..858c50887973 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -660,7 +660,6 @@ libraries: apis: - path: google/bigtable/v2 - path: google/bigtable/admin/v2 - skip_generate: true python: library_type: GAPIC_COMBO opt_args_by_api: diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/__init__.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/__init__.py index cce3f00aa270..ab5989570f2d 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/__init__.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/__init__.py @@ -23,6 +23,24 @@ from importlib import metadata +# PEP 0810: Explicit Lazy Imports +# Python 3.15+ natively intercepts and defers these imports. +# Developers can disable this behavior and force eager imports. +# For more information, see: +# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter +# Older Python versions safely ignore this variable. +__lazy_modules__ = { + "google.cloud.bigtable_admin_v2.services.bigtable_instance_admin", + "google.cloud.bigtable_admin_v2.services.bigtable_table_admin", + "google.cloud.bigtable_admin_v2.types.bigtable_instance_admin", + "google.cloud.bigtable_admin_v2.types.bigtable_table_admin", + "google.cloud.bigtable_admin_v2.types.common", + "google.cloud.bigtable_admin_v2.types.instance", + "google.cloud.bigtable_admin_v2.types.table", + "google.cloud.bigtable_admin_v2.types.types", +} + + from .services.bigtable_instance_admin import ( BigtableInstanceAdminAsyncClient, BigtableInstanceAdminClient, diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py index a9a3a8c19bb2..932f2e4fec3b 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py @@ -4343,9 +4343,7 @@ async def __aexit__(self, exc_type, exc, tb): DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ __all__ = ("BigtableInstanceAdminAsyncClient",) diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py index bfab62595c47..e5e9312d0a0d 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py @@ -4832,8 +4832,6 @@ def __exit__(self, type, value, traceback): DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ __all__ = ("BigtableInstanceAdminClient",) diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py index 9224ee3cbb3e..8d81f32f44ca 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py @@ -35,9 +35,7 @@ DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ class BigtableInstanceAdminTransport(abc.ABC): diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py index f0518a6a7056..23900413708b 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py @@ -57,8 +57,7 @@ rest_version=f"requests@{requests_version}", ) -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ class BigtableInstanceAdminRestInterceptor: diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py index 051f56600788..4384ee73dd9a 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py @@ -4961,9 +4961,7 @@ async def __aexit__(self, exc_type, exc, tb): DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ __all__ = ("BaseBigtableTableAdminAsyncClient",) diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py index 72182d3a1a6c..72a273e925f3 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py @@ -5449,8 +5449,6 @@ def __exit__(self, type, value, traceback): DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ __all__ = ("BaseBigtableTableAdminClient",) diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py index 4528ae14e01b..adafdf810b81 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py @@ -36,9 +36,7 @@ DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ class BigtableTableAdminTransport(abc.ABC): diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py index 0995d086f1ea..3520bc5aef93 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py @@ -58,8 +58,7 @@ rest_version=f"requests@{requests_version}", ) -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ class BigtableTableAdminRestInterceptor: diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/__init__.py b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/__init__.py index 29d6dfdc1c76..53f03ed6f490 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/__init__.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/__init__.py @@ -23,6 +23,25 @@ from importlib import metadata +# PEP 0810: Explicit Lazy Imports +# Python 3.15+ natively intercepts and defers these imports. +# Developers can disable this behavior and force eager imports. +# For more information, see: +# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter +# Older Python versions safely ignore this variable. +__lazy_modules__ = { + "google.cloud.bigtable_v2.services.bigtable", + "google.cloud.bigtable_v2.types.bigtable", + "google.cloud.bigtable_v2.types.data", + "google.cloud.bigtable_v2.types.feature_flags", + "google.cloud.bigtable_v2.types.peer_info", + "google.cloud.bigtable_v2.types.request_stats", + "google.cloud.bigtable_v2.types.response_params", + "google.cloud.bigtable_v2.types.session", + "google.cloud.bigtable_v2.types.types", +} + + from .services.bigtable import BigtableAsyncClient, BigtableClient from .types.bigtable import ( CheckAndMutateRowRequest, diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/async_client.py b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/async_client.py index c91d8c72771a..eb2e6009ae69 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/async_client.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/async_client.py @@ -1750,9 +1750,7 @@ async def __aexit__(self, exc_type, exc, tb): DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ __all__ = ("BigtableAsyncClient",) diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/client.py b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/client.py index 92dbae5d1c5d..5640bf3f02ac 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/client.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/client.py @@ -2217,8 +2217,6 @@ def __exit__(self, type, value, traceback): DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ __all__ = ("BigtableClient",) diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/base.py b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/base.py index acb9ef88a272..2b2d54fbf24f 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/base.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/base.py @@ -31,9 +31,7 @@ DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( gapic_version=package_version.__version__ ) - -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ class BigtableTransport(abc.ABC): diff --git a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/rest.py b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/rest.py index ff11fa4fa761..4d59d3cd269e 100644 --- a/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/rest.py +++ b/packages/google-cloud-bigtable/google/cloud/bigtable_v2/services/bigtable/transports/rest.py @@ -53,8 +53,7 @@ rest_version=f"requests@{requests_version}", ) -if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER - DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ +DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ class BigtableRestInterceptor: diff --git a/packages/google-cloud-bigtable/noxfile.py b/packages/google-cloud-bigtable/noxfile.py index a80ddfa5c3a3..f8d639a266ed 100644 --- a/packages/google-cloud-bigtable/noxfile.py +++ b/packages/google-cloud-bigtable/noxfile.py @@ -78,7 +78,6 @@ str(CURRENT_DIRECTORY.parent.parent / "mypy.ini"), ) - # 'docfx' is excluded since it only needs to run in 'docs-presubmit' nox.options.sessions = [ "unit-3.10", @@ -188,7 +187,10 @@ def mypy(session): ) session.install("google-cloud-testutils") session.run( - "mypy", f"--config-file={MYPY_CONFIG_FILE}", "-p", "google.cloud.bigtable.data" + "mypy", + f"--config-file={MYPY_CONFIG_FILE}", + "-p", + "google.cloud.bigtable.data", ) diff --git a/packages/google-cloud-bigtable/setup.py b/packages/google-cloud-bigtable/setup.py index cc161af33de1..804370de29db 100644 --- a/packages/google-cloud-bigtable/setup.py +++ b/packages/google-cloud-bigtable/setup.py @@ -42,7 +42,7 @@ release_status = "Development Status :: 5 - Production/Stable" dependencies = [ - "google-api-core[grpc] >= 2.24.2, <3.0.0", + "google-api-core[grpc] >= 2.25.0, <3.0.0", # Exclude incompatible versions of `google-auth` # See https://github.com/googleapis/google-cloud-python/issues/12364 "google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0", diff --git a/packages/google-cloud-bigtable/testing/constraints-3.10.txt b/packages/google-cloud-bigtable/testing/constraints-3.10.txt index 46c9f96012d1..6fc90067898f 100644 --- a/packages/google-cloud-bigtable/testing/constraints-3.10.txt +++ b/packages/google-cloud-bigtable/testing/constraints-3.10.txt @@ -4,7 +4,7 @@ # pinning their versions to their lower bounds. # For example, if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0", # then this file should have google-cloud-foo==1.14.0 -google-api-core==2.24.2 +google-api-core==2.25.0 google-cloud-core==2.0.0 grpc-google-iam-v1==0.14.2 google-crc32c==1.6.0 diff --git a/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_instance_admin.py b/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_instance_admin.py index 41d517bea786..b7fdde4de65b 100644 --- a/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_instance_admin.py +++ b/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_instance_admin.py @@ -1021,7 +1021,14 @@ def test_bigtable_instance_admin_client_get_mtls_endpoint_and_cert_source(client config_filename = "mock_certificate_config.json" config_file_content = json.dumps(config_data) m = mock.mock_open(read_data=config_file_content) - with mock.patch("builtins.open", m): + with ( + mock.patch("builtins.open", m), + mock.patch( + "os.path.exists", + side_effect=lambda path: os.path.basename(path) + == config_filename, + ), + ): with mock.patch.dict( os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename} ): @@ -1068,7 +1075,14 @@ def test_bigtable_instance_admin_client_get_mtls_endpoint_and_cert_source(client config_filename = "mock_certificate_config.json" config_file_content = json.dumps(config_data) m = mock.mock_open(read_data=config_file_content) - with mock.patch("builtins.open", m): + with ( + mock.patch("builtins.open", m), + mock.patch( + "os.path.exists", + side_effect=lambda path: os.path.basename(path) + == config_filename, + ), + ): with mock.patch.dict( os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename} ): diff --git a/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_table_admin.py b/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_table_admin.py index 95b68164b54b..1824760f463f 100644 --- a/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_table_admin.py +++ b/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_admin_v2/test_bigtable_table_admin.py @@ -1024,7 +1024,14 @@ def test_base_bigtable_table_admin_client_get_mtls_endpoint_and_cert_source( config_filename = "mock_certificate_config.json" config_file_content = json.dumps(config_data) m = mock.mock_open(read_data=config_file_content) - with mock.patch("builtins.open", m): + with ( + mock.patch("builtins.open", m), + mock.patch( + "os.path.exists", + side_effect=lambda path: os.path.basename(path) + == config_filename, + ), + ): with mock.patch.dict( os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename} ): @@ -1071,7 +1078,14 @@ def test_base_bigtable_table_admin_client_get_mtls_endpoint_and_cert_source( config_filename = "mock_certificate_config.json" config_file_content = json.dumps(config_data) m = mock.mock_open(read_data=config_file_content) - with mock.patch("builtins.open", m): + with ( + mock.patch("builtins.open", m), + mock.patch( + "os.path.exists", + side_effect=lambda path: os.path.basename(path) + == config_filename, + ), + ): with mock.patch.dict( os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename} ): diff --git a/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_v2/test_bigtable.py b/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_v2/test_bigtable.py index 0562d165da2c..a680a677dad1 100644 --- a/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_v2/test_bigtable.py +++ b/packages/google-cloud-bigtable/tests/unit/gapic/bigtable_v2/test_bigtable.py @@ -917,7 +917,14 @@ def test_bigtable_client_get_mtls_endpoint_and_cert_source(client_class): config_filename = "mock_certificate_config.json" config_file_content = json.dumps(config_data) m = mock.mock_open(read_data=config_file_content) - with mock.patch("builtins.open", m): + with ( + mock.patch("builtins.open", m), + mock.patch( + "os.path.exists", + side_effect=lambda path: os.path.basename(path) + == config_filename, + ), + ): with mock.patch.dict( os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename} ): @@ -964,7 +971,14 @@ def test_bigtable_client_get_mtls_endpoint_and_cert_source(client_class): config_filename = "mock_certificate_config.json" config_file_content = json.dumps(config_data) m = mock.mock_open(read_data=config_file_content) - with mock.patch("builtins.open", m): + with ( + mock.patch("builtins.open", m), + mock.patch( + "os.path.exists", + side_effect=lambda path: os.path.basename(path) + == config_filename, + ), + ): with mock.patch.dict( os.environ, {"GOOGLE_API_CERTIFICATE_CONFIG": config_filename} ): From 841654e871ecf0328a7d25a5971f89821a8a882c Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Mon, 27 Jul 2026 15:08:53 +0000 Subject: [PATCH 2/2] reduce flakiness --- .../tests/unit/data/_async/test_mutations_batcher.py | 8 ++++++-- .../unit/data/_sync_autogen/test_mutations_batcher.py | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-bigtable/tests/unit/data/_async/test_mutations_batcher.py b/packages/google-cloud-bigtable/tests/unit/data/_async/test_mutations_batcher.py index ff5a6b1123dd..f63719876724 100644 --- a/packages/google-cloud-bigtable/tests/unit/data/_async/test_mutations_batcher.py +++ b/packages/google-cloud-bigtable/tests/unit/data/_async/test_mutations_batcher.py @@ -923,8 +923,12 @@ async def test_timer_flush_end_to_end(self): for m in mutations: await instance.append(m) assert instance._entries_processed_since_last_raise == 0 - # let flush trigger due to timer - await CrossSync.sleep(0.1) + # Poll in short intervals to wait for the background timer flush to finish, + # avoiding timing/scheduling flakiness on slower or heavily loaded environments. + for _ in range(50): + if instance._entries_processed_since_last_raise == num_mutations: + break + await CrossSync.sleep(0.05) assert instance._entries_processed_since_last_raise == num_mutations @CrossSync.pytest diff --git a/packages/google-cloud-bigtable/tests/unit/data/_sync_autogen/test_mutations_batcher.py b/packages/google-cloud-bigtable/tests/unit/data/_sync_autogen/test_mutations_batcher.py index bf54a44ad35b..4a5f1900cd1c 100644 --- a/packages/google-cloud-bigtable/tests/unit/data/_sync_autogen/test_mutations_batcher.py +++ b/packages/google-cloud-bigtable/tests/unit/data/_sync_autogen/test_mutations_batcher.py @@ -804,7 +804,10 @@ def test_timer_flush_end_to_end(self): for m in mutations: instance.append(m) assert instance._entries_processed_since_last_raise == 0 - CrossSync._Sync_Impl.sleep(0.1) + for _ in range(50): + if instance._entries_processed_since_last_raise == num_mutations: + break + CrossSync._Sync_Impl.sleep(0.05) assert instance._entries_processed_since_last_raise == num_mutations def test__execute_mutate_rows(self):