From cac8d876189c364f26aace13b31459a6c3b21e6f Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 30 Jul 2025 14:02:48 -0700 Subject: [PATCH 01/32] feat: check Python and dependency versions in generated GAPICs --- .../%namespace/%name_%version/%sub/__init__.py.j2 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 8ee1670431..3727fa1f98 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -7,6 +7,17 @@ from {{package_path}} import gapic_version as package_version __version__ = package_version.__version__ + +import google.api_core + +{# How do we get the name of the PyPI path into this template? We + want the string arguments below to be something like + "google-cloud-foo (google.cloud.foo)", where the name outside the + parentheses is the PyPI package name, and the the name inside the + parentheses is the qualified Python package name installed. #} +api_core.check_python_version("{package_path}") +api_core.check_dependency_versions("{package_path}") + {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} from . import {{ subpackage }} From 20ea9b367382dff974ede814e2b118a9fee097bc Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 30 Jul 2025 15:14:04 -0700 Subject: [PATCH 02/32] fix import --- gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 3727fa1f98..8e0a9ec473 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -8,7 +8,7 @@ from {{package_path}} import gapic_version as package_version __version__ = package_version.__version__ -import google.api_core +import google.api_core as api_core {# How do we get the name of the PyPI path into this template? We want the string arguments below to be something like From e970c07064e5a42e7f50df35594ee7d8f7eb4d7f Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Thu, 31 Jul 2025 13:23:13 -0700 Subject: [PATCH 03/32] Update goldens --- .../templates/%namespace/%name_%version/%sub/__init__.py.j2 | 4 ++-- .../goldens/asset/google/cloud/asset_v1/__init__.py | 6 ++++++ .../credentials/google/iam/credentials_v1/__init__.py | 6 ++++++ .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 6 ++++++ .../goldens/logging/google/cloud/logging_v2/__init__.py | 6 ++++++ .../logging_internal/google/cloud/logging_v2/__init__.py | 6 ++++++ .../goldens/redis/google/cloud/redis_v1/__init__.py | 6 ++++++ .../redis_selective/google/cloud/redis_v1/__init__.py | 6 ++++++ 8 files changed, 44 insertions(+), 2 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 8e0a9ec473..5f9332bf4e 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -15,8 +15,8 @@ import google.api_core as api_core "google-cloud-foo (google.cloud.foo)", where the name outside the parentheses is the PyPI package name, and the the name inside the parentheses is the qualified Python package name installed. #} -api_core.check_python_version("{package_path}") -api_core.check_dependency_versions("{package_path}") +api_core.check_python_version("{{package_path}}") +api_core.check_dependency_versions("{{package_path}}") {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 03ee9ec521..3288e11f2d 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.cloud.asset_v1") +api_core.check_dependency_versions("google.cloud.asset_v1") + + from .services.asset_service import AssetServiceClient from .services.asset_service import AssetServiceAsyncClient diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 2be4471eb8..18cbdd3d1e 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.iam.credentials_v1") +api_core.check_dependency_versions("google.iam.credentials_v1") + + from .services.iam_credentials import IAMCredentialsClient from .services.iam_credentials import IAMCredentialsAsyncClient diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index a343867284..9072d37a2e 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.cloud.eventarc_v1") +api_core.check_dependency_versions("google.cloud.eventarc_v1") + + from .services.eventarc import EventarcClient from .services.eventarc import EventarcAsyncClient diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index e8b59e0bb5..54d86bfede 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.cloud.logging_v2") +api_core.check_dependency_versions("google.cloud.logging_v2") + + from .services.config_service_v2 import ConfigServiceV2Client from .services.config_service_v2 import ConfigServiceV2AsyncClient from .services.logging_service_v2 import LoggingServiceV2Client diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 3e0f9c2155..caddceb3c8 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.cloud.logging_v2") +api_core.check_dependency_versions("google.cloud.logging_v2") + + from .services.config_service_v2 import BaseConfigServiceV2Client from .services.config_service_v2 import BaseConfigServiceV2AsyncClient from .services.logging_service_v2 import LoggingServiceV2Client diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index af3d250ccd..f08c081fa3 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.cloud.redis_v1") +api_core.check_dependency_versions("google.cloud.redis_v1") + + from .services.cloud_redis import CloudRedisClient from .services.cloud_redis import CloudRedisAsyncClient diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 760fe80f6c..de6f95b7e1 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -18,6 +18,12 @@ __version__ = package_version.__version__ +import google.api_core as api_core + +api_core.check_python_version("google.cloud.redis_v1") +api_core.check_dependency_versions("google.cloud.redis_v1") + + from .services.cloud_redis import CloudRedisClient from .services.cloud_redis import CloudRedisAsyncClient From 9b2d7cd92621c8e9a20353915d5d633f6b25e683 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Thu, 31 Jul 2025 16:36:38 -0700 Subject: [PATCH 04/32] allow Python, dependency versions checks without upgrading api_core The preferred method is still to sue the code in api_core, but we have a (repetitive) fallback in case users haven't installed the new version that implements that functionality. --- .../%name_%version/%sub/__init__.py.j2 | 61 ++++++++++++++++--- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 5f9332bf4e..ec236902fd 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -10,14 +10,61 @@ __version__ = package_version.__version__ import google.api_core as api_core -{# How do we get the name of the PyPI path into this template? We - want the string arguments below to be something like - "google-cloud-foo (google.cloud.foo)", where the name outside the - parentheses is the PyPI package name, and the the name inside the - parentheses is the qualified Python package name installed. #} -api_core.check_python_version("{{package_path}}") -api_core.check_dependency_versions("{{package_path}}") +try: + api_core.check_python_version("{{package_path}}") + api_core.check_dependency_versions("{{package_path}}") +except AttributeError: +{# TODO: Remove this try-catch when we require api-core at a version that + supports the changes in https://github.com/googleapis/python-api-core/pull/832 + In the meantime, please ensure the functionality here mirrors the + equivalent functionality in api_core, in those two functions above. +-#} + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + + _py_version_str = sys.version.split()[0] + _package_label = "{{package_path}}" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}. " + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}." + + {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} from . import {{ subpackage }} From e132ccacb06526ad4f34e791e11c0a840c2e1f8a Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Thu, 31 Jul 2025 19:15:53 -0700 Subject: [PATCH 05/32] Update goldens; allow for not found dependencies --- .../%name_%version/%sub/__init__.py.j2 | 39 +++++++------- .../asset/google/cloud/asset_v1/__init__.py | 53 ++++++++++++++++++- .../google/iam/credentials_v1/__init__.py | 53 ++++++++++++++++++- .../google/cloud/eventarc_v1/__init__.py | 53 ++++++++++++++++++- .../google/cloud/logging_v2/__init__.py | 53 ++++++++++++++++++- .../google/cloud/logging_v2/__init__.py | 53 ++++++++++++++++++- .../redis/google/cloud/redis_v1/__init__.py | 53 ++++++++++++++++++- .../google/cloud/redis_v1/__init__.py | 53 ++++++++++++++++++- 8 files changed, 378 insertions(+), 32 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index ec236902fd..9edbfa3ec8 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -19,11 +19,12 @@ except AttributeError: In the meantime, please ensure the functionality here mirrors the equivalent functionality in api_core, in those two functions above. --#} +#} # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. import logging + import sys _py_version_str = sys.version.split()[0] _package_label = "{{package_path}}" @@ -39,7 +40,7 @@ except AttributeError: "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}. " + f"then update {_package_label}.") import pkg_resources from packaging.version import parse as parse_version @@ -48,22 +49,24 @@ except AttributeError: version_string = pkg_resources.get_distribution(dependency_name).version return parse_version(version_string) - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}." - + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 3288e11f2d..8a090afdb3 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.cloud.asset_v1") -api_core.check_dependency_versions("google.cloud.asset_v1") +try: + api_core.check_python_version("google.cloud.asset_v1") + api_core.check_dependency_versions("google.cloud.asset_v1") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.asset_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.asset_service import AssetServiceClient diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 18cbdd3d1e..5ef5a4db75 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.iam.credentials_v1") -api_core.check_dependency_versions("google.iam.credentials_v1") +try: + api_core.check_python_version("google.iam.credentials_v1") + api_core.check_dependency_versions("google.iam.credentials_v1") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.iam.credentials_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.iam_credentials import IAMCredentialsClient diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 9072d37a2e..93170704e5 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.cloud.eventarc_v1") -api_core.check_dependency_versions("google.cloud.eventarc_v1") +try: + api_core.check_python_version("google.cloud.eventarc_v1") + api_core.check_dependency_versions("google.cloud.eventarc_v1") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.eventarc_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.eventarc import EventarcClient diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 54d86bfede..14158339b6 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.cloud.logging_v2") -api_core.check_dependency_versions("google.cloud.logging_v2") +try: + api_core.check_python_version("google.cloud.logging_v2") + api_core.check_dependency_versions("google.cloud.logging_v2") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.logging_v2" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.config_service_v2 import ConfigServiceV2Client diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index caddceb3c8..899c74782d 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.cloud.logging_v2") -api_core.check_dependency_versions("google.cloud.logging_v2") +try: + api_core.check_python_version("google.cloud.logging_v2") + api_core.check_dependency_versions("google.cloud.logging_v2") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.logging_v2" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.config_service_v2 import BaseConfigServiceV2Client diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index f08c081fa3..d3d6503473 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.cloud.redis_v1") -api_core.check_dependency_versions("google.cloud.redis_v1") +try: + api_core.check_python_version("google.cloud.redis_v1") + api_core.check_dependency_versions("google.cloud.redis_v1") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.redis_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index de6f95b7e1..6e69a90ac0 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -20,8 +20,57 @@ import google.api_core as api_core -api_core.check_python_version("google.cloud.redis_v1") -api_core.check_dependency_versions("google.cloud.redis_v1") +try: + api_core.check_python_version("google.cloud.redis_v1") + api_core.check_dependency_versions("google.cloud.redis_v1") +except AttributeError: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.redis_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + import pkg_resources + from packaging.version import parse as parse_version + + def _get_version(dependency_name): + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + + try: + _dependency_package = "google.protobuf" + _version_used = _get_version(_dependency_package) + _next_supported_version = "4.25.8" + if _version_used < parse_version(_next_supported_version): + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + except pkg_resources.DistributionNotFound: + pass from .services.cloud_redis import CloudRedisClient From 34705c61bf7693c200f0eafe9b01f81703b5f046 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Thu, 31 Jul 2025 21:32:09 -0700 Subject: [PATCH 06/32] Update code & integration tests to work on all Python versions --- .../%name_%version/%sub/__init__.py.j2 | 58 +++++++++++-------- noxfile.py | 8 +++ .../asset/google/cloud/asset_v1/__init__.py | 56 +++++++++++------- .../google/iam/credentials_v1/__init__.py | 56 +++++++++++------- .../google/cloud/eventarc_v1/__init__.py | 56 +++++++++++------- .../google/cloud/logging_v2/__init__.py | 56 +++++++++++------- .../google/cloud/logging_v2/__init__.py | 56 +++++++++++------- .../redis/google/cloud/redis_v1/__init__.py | 56 +++++++++++------- .../google/cloud/redis_v1/__init__.py | 56 +++++++++++------- 9 files changed, 281 insertions(+), 177 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 9edbfa3ec8..5492cc9e2d 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -42,31 +42,43 @@ except AttributeError: "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} diff --git a/noxfile.py b/noxfile.py index bfc4fff8b4..5571594f7f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -61,6 +61,8 @@ def unit(session): "pyfakefs", "grpcio-status", "proto-plus", + "setuptools", # TODO: Remove when not needed in __init__.py.j2 + "packaging", # TODO: Remove when not needed in __init__.py.j2 ) session.install("-e", ".") session.run( @@ -482,6 +484,8 @@ def run_showcase_unit_tests(session, fail_under=100, rest_async_io_enabled=False "pytest-xdist", "asyncmock; python_version < '3.8'", "pytest-asyncio", + "setuptools", # TODO: Remove when not needed in __init__.py.j2 + "packaging", # TODO: Remove when not needed in __init__.py.j2 ) # Run the tests. # NOTE: async rest is not supported against the minimum supported version of google-api-core. @@ -596,6 +600,8 @@ def showcase_mypy( "types-protobuf", "types-requests", "types-dataclasses", + "setuptools", # TODO: Remove when not needed in __init__.py.j2 + "packaging", # TODO: Remove when not needed in __init__.py.j2 ) with showcase_library(session, templates=templates, other_opts=other_opts) as lib: @@ -726,6 +732,8 @@ def mypy(session): "types-PyYAML", "types-dataclasses", "click==8.1.3", + "setuptools", # TODO: Remove when not needed in __init__.py.j2 + "packaging", # TODO: Remove when not needed in __init__.py.j2 ) session.install(".") session.run("mypy", "-p", "gapic") diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 8a090afdb3..cf6b765ee9 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.asset_service import AssetServiceClient diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 5ef5a4db75..98349907a0 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.iam_credentials import IAMCredentialsClient diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 93170704e5..6deb432abe 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.eventarc import EventarcClient diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 14158339b6..c286dff4cf 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.config_service_v2 import ConfigServiceV2Client diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 899c74782d..f32009e695 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.config_service_v2 import BaseConfigServiceV2Client diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index d3d6503473..c57d143587 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 6e69a90ac0..68fab62221 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -46,31 +46,43 @@ "least Python 3.10, before then, and " + f"then update {_package_label}.") - import pkg_resources from packaging.version import parse as parse_version - def _get_version(dependency_name): - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + if sys.version_info < (3, 8): + import pkg_resources + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - try: - _dependency_package = "google.protobuf" - _version_used = _get_version(_dependency_package) - _next_supported_version = "4.25.8" - if _version_used < parse_version(_next_supported_version): - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - except pkg_resources.DistributionNotFound: - pass + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.cloud_redis import CloudRedisClient From 51a8b5e2639b33ff82f464b4bf25b67bae8a4efb Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Tue, 2 Sep 2025 15:31:28 -0700 Subject: [PATCH 07/32] fix import errors --- .../%name_%version/%sub/__init__.py.j2 | 131 +++++++++--------- .../asset/google/cloud/asset_v1/__init__.py | 115 +++++++-------- .../google/iam/credentials_v1/__init__.py | 115 +++++++-------- .../google/cloud/eventarc_v1/__init__.py | 115 +++++++-------- .../google/cloud/logging_v2/__init__.py | 115 +++++++-------- .../google/cloud/logging_v2/__init__.py | 115 +++++++-------- .../redis/google/cloud/redis_v1/__init__.py | 115 +++++++-------- .../google/cloud/redis_v1/__init__.py | 115 +++++++-------- 8 files changed, 472 insertions(+), 464 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 5492cc9e2d..f2ee6b20c9 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -10,76 +10,77 @@ __version__ = package_version.__version__ import google.api_core as api_core -try: - api_core.check_python_version("{{package_path}}") - api_core.check_dependency_versions("{{package_path}}") -except AttributeError: +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("{{package_path}}") + api_core.check_dependency_versions("{{package_path}}") +else: {# TODO: Remove this try-catch when we require api-core at a version that supports the changes in https://github.com/googleapis/python-api-core/pull/832 In the meantime, please ensure the functionality here mirrors the - equivalent functionality in api_core, in those two functions above. + equivalent functionality in api_core, in those two functions above. #} - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. - - import logging - import sys - - _py_version_str = sys.version.split()[0] - _package_label = "{{package_path}}" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") - - from packaging.version import parse as parse_version - - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None - - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") - + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. + + import logging + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "{{package_path}}" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") + + from packaging.version import parse as parse_version + + if sys.version_info < (3, 8): + import pkg_resources + + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") + {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} from . import {{ subpackage }} diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index cf6b765ee9..86c8ea11dc 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.cloud.asset_v1") - api_core.check_dependency_versions("google.cloud.asset_v1") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.cloud.asset_v1") + api_core.check_dependency_versions("google.cloud.asset_v1") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.asset_v1" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.asset_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.asset_service import AssetServiceClient diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 98349907a0..ea849952bb 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.iam.credentials_v1") - api_core.check_dependency_versions("google.iam.credentials_v1") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.iam.credentials_v1") + api_core.check_dependency_versions("google.iam.credentials_v1") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.iam.credentials_v1" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.iam.credentials_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.iam_credentials import IAMCredentialsClient diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 6deb432abe..96d465502c 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.cloud.eventarc_v1") - api_core.check_dependency_versions("google.cloud.eventarc_v1") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.cloud.eventarc_v1") + api_core.check_dependency_versions("google.cloud.eventarc_v1") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.eventarc_v1" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.eventarc_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.eventarc import EventarcClient diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index c286dff4cf..7db3e0f508 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.cloud.logging_v2") - api_core.check_dependency_versions("google.cloud.logging_v2") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.cloud.logging_v2") + api_core.check_dependency_versions("google.cloud.logging_v2") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.logging_v2" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.logging_v2" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.config_service_v2 import ConfigServiceV2Client diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index f32009e695..1ee14142b3 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.cloud.logging_v2") - api_core.check_dependency_versions("google.cloud.logging_v2") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.cloud.logging_v2") + api_core.check_dependency_versions("google.cloud.logging_v2") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.logging_v2" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.logging_v2" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.config_service_v2 import BaseConfigServiceV2Client diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index c57d143587..679807e7c3 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.cloud.redis_v1") - api_core.check_dependency_versions("google.cloud.redis_v1") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.cloud.redis_v1") + api_core.check_dependency_versions("google.cloud.redis_v1") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.redis_v1" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.redis_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 68fab62221..1fbdd3e368 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -20,69 +20,70 @@ import google.api_core as api_core -try: - api_core.check_python_version("google.cloud.redis_v1") - api_core.check_dependency_versions("google.cloud.redis_v1") -except AttributeError: - # An older version of api_core is installed, which does not define the - # functions above. We do equivalent checks manually. +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): + api_core.check_python_version("google.cloud.redis_v1") + api_core.check_dependency_versions("google.cloud.redis_v1") +else: + # An older version of api_core is installed, which does not define the + # functions above. We do equivalent checks manually. - import logging - import sys + import logging + import sys - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.redis_v1" - if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") - if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.redis_v1" + if sys.version_info < (3, 9): + logging.warning("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") + if sys.version_info[:2] == (3, 9): + logging.warning(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") - from packaging.version import parse as parse_version + from packaging.version import parse as parse_version - if sys.version_info < (3, 8): - import pkg_resources - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) - except pkg_resources.DistributionNotFound: - return None - else: - from importlib import metadata + if sys.version_info < (3, 8): + import pkg_resources - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return parsed_version.release - except metadata.PackageNotFoundError: - return None + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return parse_version(version_string) + except pkg_resources.DistributionNotFound: + return None + else: + from importlib import metadata - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return parsed_version.release + except metadata.PackageNotFoundError: + return None + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _version_used = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + logging.warning(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.cloud_redis import CloudRedisClient From baefecb8ae05c0e48adbeea61ca2ccef161a31e8 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 3 Sep 2025 10:55:06 -0700 Subject: [PATCH 08/32] Install `packaging` package NOTE: the goldens do not match the template due to a subsequent rebase. The template reflects changes in `main`, but the goldens don't yet, to simply completion of the rebase. --- gapic/templates/setup.py.j2 | 1 + tests/integration/goldens/asset/setup.py | 3 +-- tests/integration/goldens/credentials/setup.py | 3 +-- tests/integration/goldens/eventarc/setup.py | 3 +-- tests/integration/goldens/logging/setup.py | 3 +-- tests/integration/goldens/logging_internal/setup.py | 3 +-- tests/integration/goldens/redis/setup.py | 3 +-- tests/integration/goldens/redis_selective/setup.py | 3 +-- 8 files changed, 8 insertions(+), 14 deletions(-) diff --git a/gapic/templates/setup.py.j2 b/gapic/templates/setup.py.j2 index 6573b942db..5f2f803315 100644 --- a/gapic/templates/setup.py.j2 +++ b/gapic/templates/setup.py.j2 @@ -39,6 +39,7 @@ dependencies = [ "google-auth >= 2.14.1, <3.0.0,!=2.24.0,!=2.25.0", "grpcio >= 1.33.2, < 2.0.0", "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", {# Explicitly exclude protobuf versions mentioned in https://cloud.google.com/support/bulletins#GCP-2022-019 #} diff --git a/tests/integration/goldens/asset/setup.py b/tests/integration/goldens/asset/setup.py index db0a03c590..ad61f92473 100755 --- a/tests/integration/goldens/asset/setup.py +++ b/tests/integration/goldens/asset/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", diff --git a/tests/integration/goldens/credentials/setup.py b/tests/integration/goldens/credentials/setup.py index eaba6dcd0c..45ba36e159 100755 --- a/tests/integration/goldens/credentials/setup.py +++ b/tests/integration/goldens/credentials/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", diff --git a/tests/integration/goldens/eventarc/setup.py b/tests/integration/goldens/eventarc/setup.py index 8f8887b4d5..0398d6dca4 100755 --- a/tests/integration/goldens/eventarc/setup.py +++ b/tests/integration/goldens/eventarc/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", diff --git a/tests/integration/goldens/logging/setup.py b/tests/integration/goldens/logging/setup.py index cb6015c69b..a3d54850cd 100755 --- a/tests/integration/goldens/logging/setup.py +++ b/tests/integration/goldens/logging/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", diff --git a/tests/integration/goldens/logging_internal/setup.py b/tests/integration/goldens/logging_internal/setup.py index cb6015c69b..a3d54850cd 100755 --- a/tests/integration/goldens/logging_internal/setup.py +++ b/tests/integration/goldens/logging_internal/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", diff --git a/tests/integration/goldens/redis/setup.py b/tests/integration/goldens/redis/setup.py index 026674b2d3..5c0412aa75 100755 --- a/tests/integration/goldens/redis/setup.py +++ b/tests/integration/goldens/redis/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", diff --git a/tests/integration/goldens/redis_selective/setup.py b/tests/integration/goldens/redis_selective/setup.py index 026674b2d3..5c0412aa75 100755 --- a/tests/integration/goldens/redis_selective/setup.py +++ b/tests/integration/goldens/redis_selective/setup.py @@ -43,8 +43,7 @@ # 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", - "grpcio >= 1.33.2, < 2.0.0", - "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", + "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", From ad552603a508932f312ded27bd920e7ff52ea48c Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 3 Sep 2025 11:30:47 -0700 Subject: [PATCH 09/32] fix: skip type warnings for imports not present in older api_core --- .../%namespace/%name_%version/%sub/__init__.py.j2 | 7 ++++--- .../goldens/asset/google/cloud/asset_v1/__init__.py | 4 ++-- .../credentials/google/iam/credentials_v1/__init__.py | 4 ++-- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 4 ++-- .../goldens/logging/google/cloud/logging_v2/__init__.py | 4 ++-- .../logging_internal/google/cloud/logging_v2/__init__.py | 4 ++-- .../goldens/redis/google/cloud/redis_v1/__init__.py | 4 ++-- .../redis_selective/google/cloud/redis_v1/__init__.py | 4 ++-- 8 files changed, 18 insertions(+), 17 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index f2ee6b20c9..b0857255d3 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -11,10 +11,11 @@ __version__ = package_version.__version__ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("{{package_path}}") - api_core.check_dependency_versions("{{package_path}}") + {# TODO(api_core): remove `type:ignore` below when minimum version of api_core makes the else clause unnecessary. #} + api_core.check_python_version("{{package_path}}") # type: ignore + api_core.check_dependency_versions("{{package_path}}") # type: ignore else: -{# TODO: Remove this try-catch when we require api-core at a version that +{# TODO(api_core): Remove this try-catch when we require api-core at a version that supports the changes in https://github.com/googleapis/python-api-core/pull/832 In the meantime, please ensure the functionality here mirrors the diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 86c8ea11dc..d34867257e 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.cloud.asset_v1") - api_core.check_dependency_versions("google.cloud.asset_v1") + api_core.check_python_version("google.cloud.asset_v1") # type: ignore + api_core.check_dependency_versions("google.cloud.asset_v1") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index ea849952bb..b5da2f5bbb 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.iam.credentials_v1") - api_core.check_dependency_versions("google.iam.credentials_v1") + api_core.check_python_version("google.iam.credentials_v1") # type: ignore + api_core.check_dependency_versions("google.iam.credentials_v1") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 96d465502c..e585f1dcde 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.cloud.eventarc_v1") - api_core.check_dependency_versions("google.cloud.eventarc_v1") + api_core.check_python_version("google.cloud.eventarc_v1") # type: ignore + api_core.check_dependency_versions("google.cloud.eventarc_v1") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 7db3e0f508..5d2e82df53 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.cloud.logging_v2") - api_core.check_dependency_versions("google.cloud.logging_v2") + api_core.check_python_version("google.cloud.logging_v2") # type: ignore + api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 1ee14142b3..10737277e7 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.cloud.logging_v2") - api_core.check_dependency_versions("google.cloud.logging_v2") + api_core.check_python_version("google.cloud.logging_v2") # type: ignore + api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 679807e7c3..3e25b02dea 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.cloud.redis_v1") - api_core.check_dependency_versions("google.cloud.redis_v1") + api_core.check_python_version("google.cloud.redis_v1") # type: ignore + api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 1fbdd3e368..19d7ad41fd 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -21,8 +21,8 @@ import google.api_core as api_core if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): - api_core.check_python_version("google.cloud.redis_v1") - api_core.check_dependency_versions("google.cloud.redis_v1") + api_core.check_python_version("google.cloud.redis_v1") # type: ignore + api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore else: # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. From ff52e4997de4c5bc308f219872b2b8f96f24acac Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 3 Sep 2025 12:34:51 -0700 Subject: [PATCH 10/32] fix: exclude the backwards-compatibility code fro mcoverage checks --- gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 | 4 ++-- .../goldens/asset/google/cloud/asset_v1/__init__.py | 4 ++-- .../goldens/credentials/google/iam/credentials_v1/__init__.py | 4 ++-- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 4 ++-- .../goldens/logging/google/cloud/logging_v2/__init__.py | 4 ++-- .../logging_internal/google/cloud/logging_v2/__init__.py | 4 ++-- .../goldens/redis/google/cloud/redis_v1/__init__.py | 4 ++-- .../goldens/redis_selective/google/cloud/redis_v1/__init__.py | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index b0857255d3..2994e85066 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -10,11 +10,11 @@ __version__ = package_version.__version__ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage {# TODO(api_core): remove `type:ignore` below when minimum version of api_core makes the else clause unnecessary. #} api_core.check_python_version("{{package_path}}") # type: ignore api_core.check_dependency_versions("{{package_path}}") # type: ignore -else: +else: # pragma: no coverage {# TODO(api_core): Remove this try-catch when we require api-core at a version that supports the changes in https://github.com/googleapis/python-api-core/pull/832 diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index d34867257e..f98e3304a2 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.cloud.asset_v1") # type: ignore api_core.check_dependency_versions("google.cloud.asset_v1") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index b5da2f5bbb..5153a87607 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.iam.credentials_v1") # type: ignore api_core.check_dependency_versions("google.iam.credentials_v1") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index e585f1dcde..b7f9a402c6 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.cloud.eventarc_v1") # type: ignore api_core.check_dependency_versions("google.cloud.eventarc_v1") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 5d2e82df53..86d8d2cf83 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.cloud.logging_v2") # type: ignore api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 10737277e7..109c095471 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.cloud.logging_v2") # type: ignore api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 3e25b02dea..3ad00b5a69 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.cloud.redis_v1") # type: ignore api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 19d7ad41fd..50904731d7 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage api_core.check_python_version("google.cloud.redis_v1") # type: ignore api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore -else: +else: # pragma: no coverage # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. From b29ad983b9496bd203f791009c8d9bc6acffcf83 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 3 Sep 2025 13:27:29 -0700 Subject: [PATCH 11/32] fix: fix coverage skip pragmas --- gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 | 4 ++-- .../goldens/asset/google/cloud/asset_v1/__init__.py | 4 ++-- .../goldens/credentials/google/iam/credentials_v1/__init__.py | 4 ++-- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 4 ++-- .../goldens/logging/google/cloud/logging_v2/__init__.py | 4 ++-- .../logging_internal/google/cloud/logging_v2/__init__.py | 4 ++-- .../goldens/redis/google/cloud/redis_v1/__init__.py | 4 ++-- .../goldens/redis_selective/google/cloud/redis_v1/__init__.py | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 2994e85066..ad0834acf5 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -10,11 +10,11 @@ __version__ = package_version.__version__ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER {# TODO(api_core): remove `type:ignore` below when minimum version of api_core makes the else clause unnecessary. #} api_core.check_python_version("{{package_path}}") # type: ignore api_core.check_dependency_versions("{{package_path}}") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER {# TODO(api_core): Remove this try-catch when we require api-core at a version that supports the changes in https://github.com/googleapis/python-api-core/pull/832 diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index f98e3304a2..eef78ac984 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.cloud.asset_v1") # type: ignore api_core.check_dependency_versions("google.cloud.asset_v1") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 5153a87607..effaaa43c8 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.iam.credentials_v1") # type: ignore api_core.check_dependency_versions("google.iam.credentials_v1") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index b7f9a402c6..01f1418ddb 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.cloud.eventarc_v1") # type: ignore api_core.check_dependency_versions("google.cloud.eventarc_v1") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 86d8d2cf83..577ef39057 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.cloud.logging_v2") # type: ignore api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 109c095471..ef0c021397 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.cloud.logging_v2") # type: ignore api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 3ad00b5a69..83c2d1e030 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.cloud.redis_v1") # type: ignore api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 50904731d7..b88bef1b53 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -20,10 +20,10 @@ import google.api_core as api_core -if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: no coverage +if hasattr(api_core, "check_python_version") and hasattr(api_core, "check_dependency_versions"): # pragma: NO COVER api_core.check_python_version("google.cloud.redis_v1") # type: ignore api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore -else: # pragma: no coverage +else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. From b90eb094d75368b8d70eda2556cfcc03310e4464 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 10 Sep 2025 15:49:55 -0700 Subject: [PATCH 12/32] Use warnings module instead of logging module --- .../%name_%version/%sub/__init__.py.j2 | 44 +++++++++---------- .../asset/google/cloud/asset_v1/__init__.py | 44 +++++++++---------- .../google/iam/credentials_v1/__init__.py | 44 +++++++++---------- .../google/cloud/eventarc_v1/__init__.py | 44 +++++++++---------- .../google/cloud/logging_v2/__init__.py | 44 +++++++++---------- .../google/cloud/logging_v2/__init__.py | 44 +++++++++---------- .../redis/google/cloud/redis_v1/__init__.py | 44 +++++++++---------- .../google/cloud/redis_v1/__init__.py | 44 +++++++++---------- 8 files changed, 176 insertions(+), 176 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index ad0834acf5..182055eb97 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -30,18 +30,18 @@ else: # pragma: NO COVER _py_version_str = sys.version.split()[0] _package_label = "{{package_path}}" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -70,17 +70,17 @@ else: # pragma: NO COVER _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index eef78ac984..59e3c68ed5 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.cloud.asset_v1" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.asset_service import AssetServiceClient diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index effaaa43c8..9145092f4f 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.iam.credentials_v1" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.iam_credentials import IAMCredentialsClient diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 01f1418ddb..88ad5695e8 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.cloud.eventarc_v1" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.eventarc import EventarcClient diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 577ef39057..a739b21612 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.cloud.logging_v2" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.config_service_v2 import ConfigServiceV2Client diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index ef0c021397..bb76adf34e 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.cloud.logging_v2" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.config_service_v2 import BaseConfigServiceV2Client diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 83c2d1e030..58c93a3f8c 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.cloud.redis_v1" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index b88bef1b53..76607a7991 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -33,18 +33,18 @@ _py_version_str = sys.version.split()[0] _package_label = "google.cloud.redis_v1" if sys.version_info < (3, 9): - logging.warning("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.") if sys.version_info[:2] == (3, 9): - logging.warning(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.") + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} when " + + "it reaches its end of life (October 2025). Please " + + "upgrade to the latest Python version, or at " + + "least Python 3.10, before then, and " + + f"then update {_package_label}.") from packaging.version import parse as parse_version @@ -73,17 +73,17 @@ def _get_version(dependency_name): _next_supported_version_tuple = (4, 25, 8) _version_used = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - logging.warning(f"DEPRECATION: Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used.__str__}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher. Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.") from .services.cloud_redis import CloudRedisClient From 6ea418b3c460da388397021cdec34ddcbfd3c351 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 10 Sep 2025 17:57:52 -0700 Subject: [PATCH 13/32] Test tweaks --- .../unit/gapic/%name_%version/%sub/test_%service.py.j2 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 31ab20095b..5b9259676e 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1485,7 +1485,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -1494,6 +1494,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -1531,13 +1532,14 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", From 9c9db92f9373c244141ee2f0544bb09dd9dad53b Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Fri, 12 Sep 2025 14:31:57 -0700 Subject: [PATCH 14/32] fix miports --- .../templates/%namespace/%name_%version/%sub/__init__.py.j2 | 2 +- .../goldens/asset/google/cloud/asset_v1/__init__.py | 2 +- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 6 ++++-- .../credentials/google/iam/credentials_v1/__init__.py | 2 +- .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 6 ++++-- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 2 +- .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 6 ++++-- .../goldens/logging/google/cloud/logging_v2/__init__.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 6 ++++-- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 6 ++++-- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 6 ++++-- .../logging_internal/google/cloud/logging_v2/__init__.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 6 ++++-- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 6 ++++-- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 6 ++++-- .../goldens/redis/google/cloud/redis_v1/__init__.py | 2 +- .../redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 6 ++++-- .../redis_selective/google/cloud/redis_v1/__init__.py | 2 +- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 6 ++++-- 19 files changed, 52 insertions(+), 30 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 182055eb97..f615ce4f82 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -24,7 +24,7 @@ else: # pragma: NO COVER # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 59e3c68ed5..509fb60297 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index 10cb01ca87..8229b316a3 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17725,7 +17725,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -17734,6 +17734,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -17771,13 +17772,14 @@ def test_asset_service_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 9145092f4f..169a95fd26 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index 62b329f3e5..fc1aa09248 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3985,7 +3985,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3994,6 +3994,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -4031,13 +4032,14 @@ def test_iam_credentials_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 88ad5695e8..54517993ae 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index 66ac1829f1..f9b00a24ae 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15391,7 +15391,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -15400,6 +15400,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -15437,13 +15438,14 @@ def test_eventarc_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index a739b21612..3a155ad6fa 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 5de14eaafe..2772a51beb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12910,7 +12910,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -12919,6 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -12956,13 +12957,14 @@ def test_config_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 195d456017..ee676273eb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3458,7 +3458,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3467,6 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3504,13 +3505,14 @@ def test_logging_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index a7b6c70e07..af99611df0 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3262,7 +3262,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3271,6 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3308,13 +3309,14 @@ def test_metrics_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index bb76adf34e..5a3af0cb49 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index e206a2486b..7aa489e075 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12910,7 +12910,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -12919,6 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -12956,13 +12957,14 @@ def test_config_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 195d456017..ee676273eb 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3458,7 +3458,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3467,6 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3504,13 +3505,14 @@ def test_logging_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 35cb37f70d..4bf411806f 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3262,7 +3262,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3271,6 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3308,13 +3309,14 @@ def test_metrics_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 58c93a3f8c..5a8dd8baea 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 4ff5644cdc..4770cc0367 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11670,7 +11670,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -11679,6 +11679,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -11716,13 +11717,14 @@ def test_cloud_redis_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 76607a7991..c847da4b41 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -27,7 +27,7 @@ # An older version of api_core is installed, which does not define the # functions above. We do equivalent checks manually. - import logging + import warnings import sys _py_version_str = sys.version.split()[0] diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index fd46390682..b4fbb225a4 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6836,7 +6836,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -6845,6 +6845,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -6882,13 +6883,14 @@ def test_cloud_redis_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning): + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) + assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", From c72b27243248c075a68c219c4f36c9906071c3e4 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Fri, 12 Sep 2025 15:07:38 -0700 Subject: [PATCH 15/32] WIP: expose the warnings in tests --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 2 +- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 2 +- .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 2 +- .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 5b9259676e..7364b48309 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1494,7 +1494,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index 8229b316a3..b2901c9561 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17734,7 +17734,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index fc1aa09248..14cd3fdb35 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3994,7 +3994,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index f9b00a24ae..f2dc9e93a3 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15400,7 +15400,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 2772a51beb..8b1da649d3 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index ee676273eb..9b84f23625 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index af99611df0..d9ec8da8eb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 7aa489e075..1b2961eac2 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index ee676273eb..9b84f23625 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 4bf411806f..0147d564a5 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 4770cc0367..9f3045277d 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11679,7 +11679,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index b4fbb225a4..648ec25e76 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6845,7 +6845,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == record # 2 just for debugging; REMOVE grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" From d1a4a3e015748987b2a625595abcd3b5fcca7122 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Fri, 12 Sep 2025 15:24:27 -0700 Subject: [PATCH 16/32] try setting future warning --- .../%namespace/%name_%version/%sub/__init__.py.j2 | 9 ++++++--- .../unit/gapic/%name_%version/%sub/test_%service.py.j2 | 2 +- .../goldens/asset/google/cloud/asset_v1/__init__.py | 9 ++++++--- .../tests/unit/gapic/asset_v1/test_asset_service.py | 2 +- .../credentials/google/iam/credentials_v1/__init__.py | 9 ++++++--- .../unit/gapic/credentials_v1/test_iam_credentials.py | 2 +- .../eventarc/google/cloud/eventarc_v1/__init__.py | 9 ++++++--- .../tests/unit/gapic/eventarc_v1/test_eventarc.py | 2 +- .../goldens/logging/google/cloud/logging_v2/__init__.py | 9 ++++++--- .../unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../logging_internal/google/cloud/logging_v2/__init__.py | 9 ++++++--- .../unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../goldens/redis/google/cloud/redis_v1/__init__.py | 9 ++++++--- .../redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- .../redis_selective/google/cloud/redis_v1/__init__.py | 9 ++++++--- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- 20 files changed, 60 insertions(+), 36 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index f615ce4f82..d3861f6d07 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -34,14 +34,16 @@ else: # pragma: NO COVER f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -80,7 +82,8 @@ else: # pragma: NO COVER f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 7364b48309..5b9259676e 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1494,7 +1494,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 509fb60297..7463640fdb 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.asset_service import AssetServiceClient diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index b2901c9561..8229b316a3 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17734,7 +17734,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 169a95fd26..2f226c6097 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.iam_credentials import IAMCredentialsClient diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index 14cd3fdb35..fc1aa09248 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3994,7 +3994,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 54517993ae..73097cbe3e 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.eventarc import EventarcClient diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index f2dc9e93a3..f9b00a24ae 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15400,7 +15400,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 3a155ad6fa..79e416eaa8 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.config_service_v2 import ConfigServiceV2Client diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 8b1da649d3..2772a51beb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 9b84f23625..ee676273eb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index d9ec8da8eb..af99611df0 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 5a3af0cb49..8aa5dc021e 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.config_service_v2 import BaseConfigServiceV2Client diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 1b2961eac2..7aa489e075 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 9b84f23625..ee676273eb 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 0147d564a5..4bf411806f 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 5a8dd8baea..9b90d48c33 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 9f3045277d..4770cc0367 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11679,7 +11679,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index c847da4b41..f95aefdbc1 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -37,14 +37,16 @@ f"({_py_version_str}). Google will not post any further " + f"updates to {_package_label} supporting this Python version. " + "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.") + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) if sys.version_info[:2] == (3, 9): warnings.warn(f"You are using a Python version ({_py_version_str}) " + f"which Google will stop supporting in {_package_label} when " + "it reaches its end of life (October 2025). Please " + "upgrade to the latest Python version, or at " + "least Python 3.10, before then, and " + - f"then update {_package_label}.") + f"then update {_package_label}.", + FutureWarning) from packaging.version import parse as parse_version @@ -83,7 +85,8 @@ def _get_version(dependency_name): f"{_package_label} can require the higher version, or " + "(b) you manually update your Python environment to use at " + f"least version {_next_supported_version} of " + - f"{_dependency_package}.") + f"{_dependency_package}.", + FutureWarning) from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index 648ec25e76..b4fbb225a4 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6845,7 +6845,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == record # 2 just for debugging; REMOVE + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" From 11a1f1658d3a2cf655fbdfbbfb4c388e988f6be1 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Fri, 12 Sep 2025 15:43:41 -0700 Subject: [PATCH 17/32] Update expected warnings....arbitrarily --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 2 +- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 2 +- .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 2 +- .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 5b9259676e..c9b374d06b 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1494,7 +1494,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index 8229b316a3..ed6191d2e8 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17734,7 +17734,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index fc1aa09248..ffa730e517 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3994,7 +3994,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index f9b00a24ae..f2ee166bd7 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15400,7 +15400,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 2772a51beb..8d8bfaf241 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index ee676273eb..32899b72d1 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index af99611df0..abb27d504d 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 7aa489e075..291ab1853d 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index ee676273eb..32899b72d1 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 4bf411806f..2333d41333 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 4770cc0367..12f4f65595 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11679,7 +11679,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index b4fbb225a4..62ed0eace0 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6845,7 +6845,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + assert len(record) == 7 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" From 67e731dd96b533ade6d0e45ad45b5b29a3cf72ec Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Mon, 15 Sep 2025 11:55:32 -0700 Subject: [PATCH 18/32] Revert arbitrary change in test expectations: it caused more problems --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 2 +- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 2 +- .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 2 +- .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index c9b374d06b..5b9259676e 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1494,7 +1494,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index ed6191d2e8..8229b316a3 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17734,7 +17734,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index ffa730e517..fc1aa09248 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3994,7 +3994,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index f2ee166bd7..f9b00a24ae 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15400,7 +15400,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 8d8bfaf241..2772a51beb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 32899b72d1..ee676273eb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index abb27d504d..af99611df0 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 291ab1853d..7aa489e075 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12919,7 +12919,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 32899b72d1..ee676273eb 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3467,7 +3467,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 2333d41333..4bf411806f 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3271,7 +3271,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 12f4f65595..4770cc0367 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11679,7 +11679,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index 62ed0eace0..b4fbb225a4 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6845,7 +6845,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 7 + assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" From 0bf1c15bc2f35c1642a9971c1529313d0b7c856f Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Mon, 15 Sep 2025 13:02:56 -0700 Subject: [PATCH 19/32] fix: print the current package versions correctly --- gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 | 2 +- .../integration/goldens/asset/google/cloud/asset_v1/__init__.py | 2 +- .../goldens/credentials/google/iam/credentials_v1/__init__.py | 2 +- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 2 +- .../goldens/logging/google/cloud/logging_v2/__init__.py | 2 +- .../logging_internal/google/cloud/logging_v2/__init__.py | 2 +- .../integration/goldens/redis/google/cloud/redis_v1/__init__.py | 2 +- .../goldens/redis_selective/google/cloud/redis_v1/__init__.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index d3861f6d07..bb439c859f 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -74,7 +74,7 @@ else: # pragma: NO COVER if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 7463640fdb..92526af6dc 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index 2f226c6097..d42cdc70e9 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index 73097cbe3e..bdc466f8f7 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 79e416eaa8..3d15743249 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 8aa5dc021e..b1ebf002d1 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 9b90d48c33..f357a05d0f 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index f95aefdbc1..b2da37c5a4 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -77,7 +77,7 @@ def _get_version(dependency_name): if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__}. Future updates to " + + f"{_version_used.__str__()}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + From 8942f0c365c92c674096af6d4e727d2e710d3fe7 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Mon, 15 Sep 2025 16:08:21 -0700 Subject: [PATCH 20/32] fix: return package version as tuple of version tuple and string --- .../%namespace/%name_%version/%sub/__init__.py.j2 | 14 +++++++------- .../gapic/%name_%version/%sub/test_%service.py.j2 | 1 + .../asset/google/cloud/asset_v1/__init__.py | 14 +++++++------- .../unit/gapic/asset_v1/test_asset_service.py | 1 + .../google/iam/credentials_v1/__init__.py | 14 +++++++------- .../gapic/credentials_v1/test_iam_credentials.py | 1 + .../eventarc/google/cloud/eventarc_v1/__init__.py | 14 +++++++------- .../tests/unit/gapic/eventarc_v1/test_eventarc.py | 1 + .../logging/google/cloud/logging_v2/__init__.py | 14 +++++++------- .../gapic/logging_v2/test_config_service_v2.py | 1 + .../gapic/logging_v2/test_logging_service_v2.py | 1 + .../gapic/logging_v2/test_metrics_service_v2.py | 1 + .../google/cloud/logging_v2/__init__.py | 14 +++++++------- .../gapic/logging_v2/test_config_service_v2.py | 1 + .../gapic/logging_v2/test_logging_service_v2.py | 1 + .../gapic/logging_v2/test_metrics_service_v2.py | 1 + .../redis/google/cloud/redis_v1/__init__.py | 14 +++++++------- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 1 + .../google/cloud/redis_v1/__init__.py | 14 +++++++------- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 1 + 20 files changed, 68 insertions(+), 56 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index bb439c859f..fcde4fac27 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -53,9 +53,9 @@ else: # pragma: NO COVER def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -63,18 +63,18 @@ else: # pragma: NO COVER try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 5b9259676e..d773d973da 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1517,6 +1517,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.{{ service.grpc_transport_name }}, transports.{{ service.grpc_asyncio_transport_name }}]) def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 92526af6dc..bcf3b204be 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index 8229b316a3..4e1a5a2b14 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17757,6 +17757,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.AssetServiceGrpcTransport, transports.AssetServiceGrpcAsyncIOTransport]) def test_asset_service_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index d42cdc70e9..f4f6d88262 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index fc1aa09248..35e8c6c355 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -4017,6 +4017,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.IAMCredentialsGrpcTransport, transports.IAMCredentialsGrpcAsyncIOTransport]) def test_iam_credentials_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index bdc466f8f7..ff2ffc509d 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index f9b00a24ae..5d42a27e67 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15423,6 +15423,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.EventarcGrpcTransport, transports.EventarcGrpcAsyncIOTransport]) def test_eventarc_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 3d15743249..6bc52ef1fd 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 2772a51beb..b6f4fa943c 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12942,6 +12942,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.ConfigServiceV2GrpcTransport, transports.ConfigServiceV2GrpcAsyncIOTransport]) def test_config_service_v2_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index ee676273eb..631db717cb 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3490,6 +3490,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.LoggingServiceV2GrpcTransport, transports.LoggingServiceV2GrpcAsyncIOTransport]) def test_logging_service_v2_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index af99611df0..a17b25247c 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3294,6 +3294,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.MetricsServiceV2GrpcTransport, transports.MetricsServiceV2GrpcAsyncIOTransport]) def test_metrics_service_v2_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index b1ebf002d1..3bc21f629e 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 7aa489e075..34c690d624 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12942,6 +12942,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.ConfigServiceV2GrpcTransport, transports.ConfigServiceV2GrpcAsyncIOTransport]) def test_config_service_v2_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index ee676273eb..631db717cb 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3490,6 +3490,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.LoggingServiceV2GrpcTransport, transports.LoggingServiceV2GrpcAsyncIOTransport]) def test_logging_service_v2_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 4bf411806f..78853a963a 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3294,6 +3294,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.MetricsServiceV2GrpcTransport, transports.MetricsServiceV2GrpcAsyncIOTransport]) def test_metrics_service_v2_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index f357a05d0f..994427c2c9 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 4770cc0367..39f59b9cbd 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11702,6 +11702,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.CloudRedisGrpcTransport, transports.CloudRedisGrpcAsyncIOTransport]) def test_cloud_redis_transport_channel_mtls_with_adc( transport_class diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index b2da37c5a4..b3e98afba4 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -56,9 +56,9 @@ def _get_version(dependency_name): try: version_string = pkg_resources.get_distribution(dependency_name).version - return parse_version(version_string) + return (parse_version(version_string), version_string) except pkg_resources.DistributionNotFound: - return None + return (None, "--") else: from importlib import metadata @@ -66,18 +66,18 @@ def _get_version(dependency_name): try: version_string = metadata.version("requests") parsed_version = parse_version(version_string) - return parsed_version.release + return (parsed_version.release, version_string) except metadata.PackageNotFoundError: - return None + return (None, "--") _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) - _version_used = _get_version(_dependency_package) + (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"DEPRECATION: Package {_package_label} depends on " + + warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + - f"{_version_used.__str__()}. Future updates to " + + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + f"version {_next_supported_version} or higher. Please ensure " + "that either (a) your Python environment doesn't pin the " + diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index b4fbb225a4..7d8b779f50 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6868,6 +6868,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.CloudRedisGrpcTransport, transports.CloudRedisGrpcAsyncIOTransport]) def test_cloud_redis_transport_channel_mtls_with_adc( transport_class From 316ea5759c46c2006f283d0363c9e338018cc905 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Mon, 15 Sep 2025 17:01:40 -0700 Subject: [PATCH 21/32] fix: filter MTLS deprecation tests for "mtls" --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 5 ++--- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 1 + .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 1 + .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 1 + .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 1 + .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 1 + .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 1 + .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 1 + .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 1 + .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 1 + .../redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 1 + .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 1 + 12 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index d773d973da..d14950395d 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1485,7 +1485,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -1517,7 +1517,6 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.{{ service.grpc_transport_name }}, transports.{{ service.grpc_asyncio_transport_name }}]) def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( transport_class @@ -1533,7 +1532,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index 4e1a5a2b14..eb4f894497 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17712,6 +17712,7 @@ def test_asset_service_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.AssetServiceGrpcTransport, transports.AssetServiceGrpcAsyncIOTransport]) def test_asset_service_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index 35e8c6c355..f2d403ee97 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3972,6 +3972,7 @@ def test_iam_credentials_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.IAMCredentialsGrpcTransport, transports.IAMCredentialsGrpcAsyncIOTransport]) def test_iam_credentials_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index 5d42a27e67..17862e29d3 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15378,6 +15378,7 @@ def test_eventarc_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.EventarcGrpcTransport, transports.EventarcGrpcAsyncIOTransport]) def test_eventarc_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index b6f4fa943c..841d118473 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12897,6 +12897,7 @@ def test_config_service_v2_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.ConfigServiceV2GrpcTransport, transports.ConfigServiceV2GrpcAsyncIOTransport]) def test_config_service_v2_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 631db717cb..89645773de 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3445,6 +3445,7 @@ def test_logging_service_v2_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.LoggingServiceV2GrpcTransport, transports.LoggingServiceV2GrpcAsyncIOTransport]) def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index a17b25247c..9f42f52263 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3249,6 +3249,7 @@ def test_metrics_service_v2_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.MetricsServiceV2GrpcTransport, transports.MetricsServiceV2GrpcAsyncIOTransport]) def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 34c690d624..1c6ad48b79 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12897,6 +12897,7 @@ def test_config_service_v2_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.ConfigServiceV2GrpcTransport, transports.ConfigServiceV2GrpcAsyncIOTransport]) def test_config_service_v2_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 631db717cb..89645773de 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3445,6 +3445,7 @@ def test_logging_service_v2_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.LoggingServiceV2GrpcTransport, transports.LoggingServiceV2GrpcAsyncIOTransport]) def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 78853a963a..7a68941c44 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3249,6 +3249,7 @@ def test_metrics_service_v2_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.MetricsServiceV2GrpcTransport, transports.MetricsServiceV2GrpcAsyncIOTransport]) def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 39f59b9cbd..7c6ae80314 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11657,6 +11657,7 @@ def test_cloud_redis_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.CloudRedisGrpcTransport, transports.CloudRedisGrpcAsyncIOTransport]) def test_cloud_redis_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index 7d8b779f50..be69e57f70 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6823,6 +6823,7 @@ def test_cloud_redis_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.CloudRedisGrpcTransport, transports.CloudRedisGrpcAsyncIOTransport]) def test_cloud_redis_transport_channel_mtls_with_client_cert_source( transport_class From 81a73790d7eabe7481a63574b6493a1a2db77caf Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Mon, 15 Sep 2025 17:31:11 -0700 Subject: [PATCH 22/32] fix tests --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 1 + .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 5 ++--- .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 5 ++--- .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 5 ++--- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 5 ++--- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 5 ++--- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 5 ++--- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 5 ++--- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 5 ++--- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 5 ++--- .../redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 5 ++--- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 5 ++--- 12 files changed, 23 insertions(+), 33 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index d14950395d..86c493f576 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1472,6 +1472,7 @@ def test_{{ service.name|snake_case }}_grpc_asyncio_transport_channel(): # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. +@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.{{ service.grpc_transport_name }}, transports.{{ service.grpc_asyncio_transport_name }}]) def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_source( transport_class diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index eb4f894497..aa1ac26f47 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17726,7 +17726,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -17758,7 +17758,6 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.AssetServiceGrpcTransport, transports.AssetServiceGrpcAsyncIOTransport]) def test_asset_service_transport_channel_mtls_with_adc( transport_class @@ -17774,7 +17773,7 @@ def test_asset_service_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index f2d403ee97..30f9e5b964 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3986,7 +3986,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -4018,7 +4018,6 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.IAMCredentialsGrpcTransport, transports.IAMCredentialsGrpcAsyncIOTransport]) def test_iam_credentials_transport_channel_mtls_with_adc( transport_class @@ -4034,7 +4033,7 @@ def test_iam_credentials_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index 17862e29d3..c3d3ace69a 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15392,7 +15392,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -15424,7 +15424,6 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.EventarcGrpcTransport, transports.EventarcGrpcAsyncIOTransport]) def test_eventarc_transport_channel_mtls_with_adc( transport_class @@ -15440,7 +15439,7 @@ def test_eventarc_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 841d118473..b561736874 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12911,7 +12911,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -12943,7 +12943,6 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.ConfigServiceV2GrpcTransport, transports.ConfigServiceV2GrpcAsyncIOTransport]) def test_config_service_v2_transport_channel_mtls_with_adc( transport_class @@ -12959,7 +12958,7 @@ def test_config_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 89645773de..e51c1a547e 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3459,7 +3459,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3491,7 +3491,6 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.LoggingServiceV2GrpcTransport, transports.LoggingServiceV2GrpcAsyncIOTransport]) def test_logging_service_v2_transport_channel_mtls_with_adc( transport_class @@ -3507,7 +3506,7 @@ def test_logging_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 9f42f52263..e47e4e1745 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3263,7 +3263,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3295,7 +3295,6 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.MetricsServiceV2GrpcTransport, transports.MetricsServiceV2GrpcAsyncIOTransport]) def test_metrics_service_v2_transport_channel_mtls_with_adc( transport_class @@ -3311,7 +3310,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 1c6ad48b79..51e98b0cfe 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12911,7 +12911,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -12943,7 +12943,6 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.ConfigServiceV2GrpcTransport, transports.ConfigServiceV2GrpcAsyncIOTransport]) def test_config_service_v2_transport_channel_mtls_with_adc( transport_class @@ -12959,7 +12958,7 @@ def test_config_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 89645773de..e51c1a547e 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3459,7 +3459,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3491,7 +3491,6 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.LoggingServiceV2GrpcTransport, transports.LoggingServiceV2GrpcAsyncIOTransport]) def test_logging_service_v2_transport_channel_mtls_with_adc( transport_class @@ -3507,7 +3506,7 @@ def test_logging_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 7a68941c44..c2b7e17cc2 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3263,7 +3263,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3295,7 +3295,6 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.MetricsServiceV2GrpcTransport, transports.MetricsServiceV2GrpcAsyncIOTransport]) def test_metrics_service_v2_transport_channel_mtls_with_adc( transport_class @@ -3311,7 +3310,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index 7c6ae80314..df16eaaaf3 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11671,7 +11671,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -11703,7 +11703,6 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.CloudRedisGrpcTransport, transports.CloudRedisGrpcAsyncIOTransport]) def test_cloud_redis_transport_channel_mtls_with_adc( transport_class @@ -11719,7 +11718,7 @@ def test_cloud_redis_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index be69e57f70..b161f975e0 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6837,7 +6837,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -6869,7 +6869,6 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( # Remove this test when deprecated arguments (api_mtls_endpoint, client_cert_source) are # removed from grpc/grpc_asyncio transport constructor. -@pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.parametrize("transport_class", [transports.CloudRedisGrpcTransport, transports.CloudRedisGrpcAsyncIOTransport]) def test_cloud_redis_transport_channel_mtls_with_adc( transport_class @@ -6885,7 +6884,7 @@ def test_cloud_redis_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning, match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, From 08598d0a09772f116a4cf5f556f92502028ab543 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Tue, 16 Sep 2025 13:43:55 -0700 Subject: [PATCH 23/32] fix test: warning match string --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 2 +- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 2 +- .../tests/unit/gapic/credentials_v1/test_iam_credentials.py | 2 +- .../eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_logging_service_v2.py | 2 +- .../tests/unit/gapic/logging_v2/test_metrics_service_v2.py | 2 +- .../goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 86c493f576..654a41b601 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1486,7 +1486,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index aa1ac26f47..e5dba19e13 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17726,7 +17726,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index 30f9e5b964..e05b6dfe93 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3986,7 +3986,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index c3d3ace69a..bfc9d48d5d 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15392,7 +15392,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index b561736874..887779cea7 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12911,7 +12911,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index e51c1a547e..85533e112c 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3459,7 +3459,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index e47e4e1745..eda5b04a74 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3263,7 +3263,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 51e98b0cfe..0f096c1e89 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12911,7 +12911,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index e51c1a547e..85533e112c 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3459,7 +3459,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index c2b7e17cc2..7a97a4d3d8 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3263,7 +3263,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index df16eaaaf3..e37ecfe7b9 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11671,7 +11671,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index b161f975e0..d5d95245a6 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6837,7 +6837,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning, match="client_cert") as record: with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( From fbab30f8dbc71b37ff72c0b89d88adb41fb5eb44 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 17 Sep 2025 14:36:20 -0700 Subject: [PATCH 24/32] WIP trying to fix tests --- .../unit/gapic/%name_%version/%sub/test_%service.py.j2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 654a41b601..efd20ce41b 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1486,8 +1486,8 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: - with mock.patch.object(google.auth, 'default') as adc: + with pytest.warns(DeprecationWarning) as record: # match="client_cert|mtls") as record: + with mock.patch.object(google.auth, 'default|mtls') as adc: adc.return_value = (cred, None) transport = transport_class( host="squid.clam.whelk", @@ -1533,7 +1533,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning) as record: # , match="mtls") as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, From 6e548f05aa9c118dc8ca41a684d3cf782172add6 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 17 Sep 2025 15:16:26 -0700 Subject: [PATCH 25/32] WIP: try to fix tests --- .../unit/gapic/%name_%version/%sub/test_%service.py.j2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index efd20ce41b..1c1b702860 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1486,7 +1486,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: # match="client_cert|mtls") as record: + with pytest.warns(DeprecationWarning) as record: with mock.patch.object(google.auth, 'default|mtls') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -1495,7 +1495,7 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 + # assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -1533,14 +1533,14 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: # , match="mtls") as record: + with pytest.warns(DeprecationWarning) as record: transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 + # assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", From b1aea7a8a5d1604cb67550f0de86f802f7d28771 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 17 Sep 2025 15:34:17 -0700 Subject: [PATCH 26/32] fix tests --- .../unit/gapic/%name_%version/%sub/test_%service.py.j2 | 8 +++----- .../asset/tests/unit/gapic/asset_v1/test_asset_service.py | 6 ++---- .../unit/gapic/credentials_v1/test_iam_credentials.py | 6 ++---- .../tests/unit/gapic/eventarc_v1/test_eventarc.py | 6 ++---- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 6 ++---- .../unit/gapic/logging_v2/test_logging_service_v2.py | 6 ++---- .../unit/gapic/logging_v2/test_metrics_service_v2.py | 6 ++---- .../tests/unit/gapic/logging_v2/test_config_service_v2.py | 6 ++---- .../unit/gapic/logging_v2/test_logging_service_v2.py | 6 ++---- .../unit/gapic/logging_v2/test_metrics_service_v2.py | 6 ++---- .../redis/tests/unit/gapic/redis_v1/test_cloud_redis.py | 6 ++---- .../tests/unit/gapic/redis_v1/test_cloud_redis.py | 6 ++---- 12 files changed, 25 insertions(+), 49 deletions(-) diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 1c1b702860..6391c95768 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -1486,8 +1486,8 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning) as record: - with mock.patch.object(google.auth, 'default|mtls') as adc: + with pytest.warns(DeprecationWarning): + with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( host="squid.clam.whelk", @@ -1495,7 +1495,6 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_client_cert_s client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - # assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -1533,14 +1532,13 @@ def test_{{ service.name|snake_case }}_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning) as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - # assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py index e5dba19e13..edd142a808 100755 --- a/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py +++ b/tests/integration/goldens/asset/tests/unit/gapic/asset_v1/test_asset_service.py @@ -17726,7 +17726,7 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -17735,7 +17735,6 @@ def test_asset_service_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -17773,14 +17772,13 @@ def test_asset_service_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py index e05b6dfe93..90ddb8c449 100755 --- a/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py +++ b/tests/integration/goldens/credentials/tests/unit/gapic/credentials_v1/test_iam_credentials.py @@ -3986,7 +3986,7 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3995,7 +3995,6 @@ def test_iam_credentials_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -4033,14 +4032,13 @@ def test_iam_credentials_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py index bfc9d48d5d..c815caafc5 100755 --- a/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py +++ b/tests/integration/goldens/eventarc/tests/unit/gapic/eventarc_v1/test_eventarc.py @@ -15392,7 +15392,7 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -15401,7 +15401,6 @@ def test_eventarc_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -15439,14 +15438,13 @@ def test_eventarc_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py index 887779cea7..c284e58f8b 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12911,7 +12911,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -12920,7 +12920,6 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -12958,14 +12957,13 @@ def test_config_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 85533e112c..3a3740300b 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3459,7 +3459,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3468,7 +3468,6 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3506,14 +3505,13 @@ def test_logging_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index eda5b04a74..4633e315a1 100755 --- a/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3263,7 +3263,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3272,7 +3272,6 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3310,14 +3309,13 @@ def test_metrics_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py index 0f096c1e89..97d56ab135 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_config_service_v2.py @@ -12911,7 +12911,7 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -12920,7 +12920,6 @@ def test_config_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -12958,14 +12957,13 @@ def test_config_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py index 85533e112c..3a3740300b 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_logging_service_v2.py @@ -3459,7 +3459,7 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3468,7 +3468,6 @@ def test_logging_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3506,14 +3505,13 @@ def test_logging_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py index 7a97a4d3d8..bcb2c8346f 100755 --- a/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py +++ b/tests/integration/goldens/logging_internal/tests/unit/gapic/logging_v2/test_metrics_service_v2.py @@ -3263,7 +3263,7 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -3272,7 +3272,6 @@ def test_metrics_service_v2_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -3310,14 +3309,13 @@ def test_metrics_service_v2_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py index e37ecfe7b9..02549e2f2f 100755 --- a/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -11671,7 +11671,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -11680,7 +11680,6 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -11718,14 +11717,13 @@ def test_cloud_redis_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", diff --git a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py index d5d95245a6..2aed5640c0 100755 --- a/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py +++ b/tests/integration/goldens/redis_selective/tests/unit/gapic/redis_v1/test_cloud_redis.py @@ -6837,7 +6837,7 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( grpc_create_channel.return_value = mock_grpc_channel cred = ga_credentials.AnonymousCredentials() - with pytest.warns(DeprecationWarning, match="client_cert") as record: + with pytest.warns(DeprecationWarning): with mock.patch.object(google.auth, 'default') as adc: adc.return_value = (cred, None) transport = transport_class( @@ -6846,7 +6846,6 @@ def test_cloud_redis_transport_channel_mtls_with_client_cert_source( client_cert_source=client_cert_source_callback, ) adc.assert_called_once() - assert len(record) == 2 grpc_ssl_channel_cred.assert_called_once_with( certificate_chain=b"cert bytes", private_key=b"key bytes" @@ -6884,14 +6883,13 @@ def test_cloud_redis_transport_channel_mtls_with_adc( grpc_create_channel.return_value = mock_grpc_channel mock_cred = mock.Mock() - with pytest.warns(DeprecationWarning, match="mtls") as record: + with pytest.warns(DeprecationWarning): transport = transport_class( host="squid.clam.whelk", credentials=mock_cred, api_mtls_endpoint="mtls.squid.clam.whelk", client_cert_source=None, ) - assert len(record) == 1 grpc_create_channel.assert_called_once_with( "mtls.squid.clam.whelk:443", From de880d9b0dee88bb222373b6cfaf5cc20a74c692 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 17 Sep 2025 17:39:20 -0700 Subject: [PATCH 27/32] fix test_metadata_response_unary_async --- tests/system/test_response_metadata.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/system/test_response_metadata.py b/tests/system/test_response_metadata.py index f99abf3e11..2cc8681455 100644 --- a/tests/system/test_response_metadata.py +++ b/tests/system/test_response_metadata.py @@ -84,6 +84,7 @@ async def test_metadata_response_rest_streams_async(intercepted_echo_rest_async) ("rest_asyncio", ("X-Showcase-Request-Something3", "something_value3")), ], ) + @pytest.mark.filterwarnings("ignore::FutureWarning") @pytest.mark.asyncio async def test_metadata_response_unary_async( intercepted_echo_grpc_async, From cb164fb63094b0bff7ea0a8f5f93d3c42d25268a Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 1 Oct 2025 12:35:34 -0700 Subject: [PATCH 28/32] Recommend protobuf 6.x --- gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 | 4 +++- .../goldens/asset/google/cloud/asset_v1/__init__.py | 4 +++- .../goldens/credentials/google/iam/credentials_v1/__init__.py | 4 +++- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 4 +++- .../goldens/logging/google/cloud/logging_v2/__init__.py | 4 +++- .../logging_internal/google/cloud/logging_v2/__init__.py | 4 +++- .../goldens/redis/google/cloud/redis_v1/__init__.py | 4 +++- .../goldens/redis_selective/google/cloud/redis_v1/__init__.py | 4 +++- 8 files changed, 24 insertions(+), 8 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index fcde4fac27..fc0e469f51 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -70,13 +70,15 @@ else: # pragma: NO COVER _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index bcf3b204be..46b55feda7 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index f4f6d88262..b30d1aa8f5 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index ff2ffc509d..c9ac5293f1 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 6bc52ef1fd..0d9a3b140a 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 3bc21f629e..39d22ba481 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index 994427c2c9..a3181e1dc1 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index b3e98afba4..3d9ef2f3c6 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -73,13 +73,15 @@ def _get_version(dependency_name): _dependency_package = "google.protobuf" _next_supported_version = "4.25.8" _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" (_version_used, _version_used_string) = _get_version(_dependency_package) if _version_used and _version_used < _next_supported_version_tuple: warnings.warn(f"Package {_package_label} depends on " + f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher. Please ensure " + + f"version {_next_supported_version} or higher{recommendation}." + + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + f"{_package_label} can require the higher version, or " + From be231343679c0baf1f612d796afe5a07006b06eb Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 1 Oct 2025 12:44:45 -0700 Subject: [PATCH 29/32] fix typo --- gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 | 2 +- .../integration/goldens/asset/google/cloud/asset_v1/__init__.py | 2 +- .../goldens/credentials/google/iam/credentials_v1/__init__.py | 2 +- .../goldens/eventarc/google/cloud/eventarc_v1/__init__.py | 2 +- .../goldens/logging/google/cloud/logging_v2/__init__.py | 2 +- .../logging_internal/google/cloud/logging_v2/__init__.py | 2 +- .../integration/goldens/redis/google/cloud/redis_v1/__init__.py | 2 +- .../goldens/redis_selective/google/cloud/redis_v1/__init__.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index fc0e469f51..85380ce0a5 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -77,7 +77,7 @@ else: # pragma: NO COVER f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 46b55feda7..79d8da0cb2 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index b30d1aa8f5..c72f7f9e20 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index c9ac5293f1..b28602d90c 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index 0d9a3b140a..ead2e86fb5 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index 39d22ba481..c35eaf45ea 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index a3181e1dc1..b887585a50 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index 3d9ef2f3c6..ccfdd1d40b 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -80,7 +80,7 @@ def _get_version(dependency_name): f"{_dependency_package}, currently installed at version " + f"{_version_used_string}. Future updates to " + f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{recommendation}." + + f"version {_next_supported_version} or higher{_recommendation}." + " Please ensure " + "that either (a) your Python environment doesn't pin the " + f"version of {_dependency_package}, so that updates to " + From 406f48d3331cc620915f351fc325276f33860fea Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Fri, 10 Oct 2025 11:11:52 -0700 Subject: [PATCH 30/32] chore: update goldens after rebase --- tests/integration/goldens/asset/setup.py | 2 ++ tests/integration/goldens/credentials/setup.py | 2 ++ tests/integration/goldens/eventarc/setup.py | 2 ++ tests/integration/goldens/logging/setup.py | 2 ++ tests/integration/goldens/logging_internal/setup.py | 2 ++ tests/integration/goldens/redis/setup.py | 2 ++ tests/integration/goldens/redis_selective/setup.py | 2 ++ 7 files changed, 14 insertions(+) diff --git a/tests/integration/goldens/asset/setup.py b/tests/integration/goldens/asset/setup.py index ad61f92473..f7d2a2bdf8 100755 --- a/tests/integration/goldens/asset/setup.py +++ b/tests/integration/goldens/asset/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", diff --git a/tests/integration/goldens/credentials/setup.py b/tests/integration/goldens/credentials/setup.py index 45ba36e159..f4ebe518e8 100755 --- a/tests/integration/goldens/credentials/setup.py +++ b/tests/integration/goldens/credentials/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", diff --git a/tests/integration/goldens/eventarc/setup.py b/tests/integration/goldens/eventarc/setup.py index 0398d6dca4..aeb6fdeb1c 100755 --- a/tests/integration/goldens/eventarc/setup.py +++ b/tests/integration/goldens/eventarc/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", diff --git a/tests/integration/goldens/logging/setup.py b/tests/integration/goldens/logging/setup.py index a3d54850cd..0c103cd02f 100755 --- a/tests/integration/goldens/logging/setup.py +++ b/tests/integration/goldens/logging/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", diff --git a/tests/integration/goldens/logging_internal/setup.py b/tests/integration/goldens/logging_internal/setup.py index a3d54850cd..0c103cd02f 100755 --- a/tests/integration/goldens/logging_internal/setup.py +++ b/tests/integration/goldens/logging_internal/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", diff --git a/tests/integration/goldens/redis/setup.py b/tests/integration/goldens/redis/setup.py index 5c0412aa75..cf35d014a4 100755 --- a/tests/integration/goldens/redis/setup.py +++ b/tests/integration/goldens/redis/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", diff --git a/tests/integration/goldens/redis_selective/setup.py b/tests/integration/goldens/redis_selective/setup.py index 5c0412aa75..cf35d014a4 100755 --- a/tests/integration/goldens/redis_selective/setup.py +++ b/tests/integration/goldens/redis_selective/setup.py @@ -43,6 +43,8 @@ # 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", + "grpcio >= 1.33.2, < 2.0.0", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "packaging", # TODO: Remove once we require versions of api core that include this "proto-plus >= 1.22.3, <2.0.0", "proto-plus >= 1.25.0, <2.0.0; python_version >= '3.13'", From 5f4bb0354ff0cc9c89723c4d2fa03620138f58e7 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Wed, 15 Oct 2025 12:05:38 -0700 Subject: [PATCH 31/32] feat: add try block around version check --- .../%name_%version/%sub/__init__.py.j2 | 132 +++++++++--------- 1 file changed, 69 insertions(+), 63 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 index 85380ce0a5..abe33f8575 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2 @@ -21,71 +21,77 @@ else: # pragma: NO COVER In the meantime, please ensure the functionality here mirrors the equivalent functionality in api_core, in those two functions above. #} - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. - - import warnings - import sys - - _py_version_str = sys.version.split()[0] - _package_label = "{{package_path}}" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) - - from packaging.version import parse as parse_version - - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + try: + import warnings + import sys + + _py_version_str = sys.version.split()[0] + _package_label = "{{package_path}}" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) + + from packaging.version import parse as parse_version + + if sys.version_info < (3, 8): + import pkg_resources + + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") - - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") + + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") {# Import subpackages. -#} {% for subpackage, _ in api.subpackages|dictsort %} From cd3fcae034b1dac2a8f7e54c91fa559ea6900541 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Tue, 21 Oct 2025 15:32:43 -0700 Subject: [PATCH 32/32] Fix goldens --- .../asset/google/cloud/asset_v1/__init__.py | 122 +++++++++--------- .../google/iam/credentials_v1/__init__.py | 122 +++++++++--------- .../google/cloud/eventarc_v1/__init__.py | 122 +++++++++--------- .../google/cloud/logging_v2/__init__.py | 122 +++++++++--------- .../google/cloud/logging_v2/__init__.py | 122 +++++++++--------- .../redis/google/cloud/redis_v1/__init__.py | 122 +++++++++--------- .../google/cloud/redis_v1/__init__.py | 122 +++++++++--------- 7 files changed, 448 insertions(+), 406 deletions(-) diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py index 79d8da0cb2..4f4362db8d 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.cloud.asset_v1") # type: ignore api_core.check_dependency_versions("google.cloud.asset_v1") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.asset_v1" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.asset_v1" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.asset_service import AssetServiceClient diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py index c72f7f9e20..3dd77183a7 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.iam.credentials_v1") # type: ignore api_core.check_dependency_versions("google.iam.credentials_v1") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.iam.credentials_v1" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.iam.credentials_v1" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.iam_credentials import IAMCredentialsClient diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py index b28602d90c..714542db61 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.cloud.eventarc_v1") # type: ignore api_core.check_dependency_versions("google.cloud.eventarc_v1") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.eventarc_v1" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.eventarc_v1" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.eventarc import EventarcClient diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py index ead2e86fb5..65abc3b298 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.cloud.logging_v2") # type: ignore api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.logging_v2" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.logging_v2" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.config_service_v2 import ConfigServiceV2Client diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py index c35eaf45ea..ab630bbc65 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.cloud.logging_v2") # type: ignore api_core.check_dependency_versions("google.cloud.logging_v2") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.logging_v2" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.logging_v2" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.config_service_v2 import BaseConfigServiceV2Client diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py index b887585a50..8db2b26e65 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.cloud.redis_v1") # type: ignore api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.redis_v1" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.redis_v1" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.cloud_redis import CloudRedisClient diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py index ccfdd1d40b..b781ff92cd 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py @@ -24,71 +24,77 @@ api_core.check_python_version("google.cloud.redis_v1") # type: ignore api_core.check_dependency_versions("google.cloud.redis_v1") # type: ignore else: # pragma: NO COVER - # An older version of api_core is installed, which does not define the + # An older version of api_core is installed which does not define the # functions above. We do equivalent checks manually. + try: + import warnings + import sys - import warnings - import sys + _py_version_str = sys.version.split()[0] + _package_label = "google.cloud.redis_v1" + if sys.version_info < (3, 9): + warnings.warn("You are using a non-supported Python version " + + f"({_py_version_str}). Google will not post any further " + + f"updates to {_package_label} supporting this Python version. " + + "Please upgrade to the latest Python version, or at " + + f"least to Python 3.9, and then update {_package_label}.", + FutureWarning) + if sys.version_info[:2] == (3, 9): + warnings.warn(f"You are using a Python version ({_py_version_str}) " + + f"which Google will stop supporting in {_package_label} in " + + "January 2026. Please " + + "upgrade to the latest Python version, or at " + + "least to Python 3.10, before then, and " + + f"then update {_package_label}.", + FutureWarning) - _py_version_str = sys.version.split()[0] - _package_label = "google.cloud.redis_v1" - if sys.version_info < (3, 9): - warnings.warn("You are using a non-supported Python version " + - f"({_py_version_str}). Google will not post any further " + - f"updates to {_package_label} supporting this Python version. " + - "Please upgrade to the latest Python version, or at " + - f"least to Python 3.9, and then update {_package_label}.", - FutureWarning) - if sys.version_info[:2] == (3, 9): - warnings.warn(f"You are using a Python version ({_py_version_str}) " + - f"which Google will stop supporting in {_package_label} when " + - "it reaches its end of life (October 2025). Please " + - "upgrade to the latest Python version, or at " + - "least Python 3.10, before then, and " + - f"then update {_package_label}.", - FutureWarning) + from packaging.version import parse as parse_version - from packaging.version import parse as parse_version + if sys.version_info < (3, 8): + import pkg_resources - if sys.version_info < (3, 8): - import pkg_resources - - def _get_version(dependency_name): - try: - version_string = pkg_resources.get_distribution(dependency_name).version - return (parse_version(version_string), version_string) - except pkg_resources.DistributionNotFound: - return (None, "--") - else: - from importlib import metadata - - def _get_version(dependency_name): - try: - version_string = metadata.version("requests") - parsed_version = parse_version(version_string) - return (parsed_version.release, version_string) - except metadata.PackageNotFoundError: + def _get_version(dependency_name): + try: + version_string = pkg_resources.get_distribution(dependency_name).version + return (parse_version(version_string), version_string) + except pkg_resources.DistributionNotFound: return (None, "--") + else: + from importlib import metadata + + def _get_version(dependency_name): + try: + version_string = metadata.version("requests") + parsed_version = parse_version(version_string) + return (parsed_version.release, version_string) + except metadata.PackageNotFoundError: + return (None, "--") - _dependency_package = "google.protobuf" - _next_supported_version = "4.25.8" - _next_supported_version_tuple = (4, 25, 8) - _recommendation = " (we recommend 6.x)" - (_version_used, _version_used_string) = _get_version(_dependency_package) - if _version_used and _version_used < _next_supported_version_tuple: - warnings.warn(f"Package {_package_label} depends on " + - f"{_dependency_package}, currently installed at version " + - f"{_version_used_string}. Future updates to " + - f"{_package_label} will require {_dependency_package} at " + - f"version {_next_supported_version} or higher{_recommendation}." + - " Please ensure " + - "that either (a) your Python environment doesn't pin the " + - f"version of {_dependency_package}, so that updates to " + - f"{_package_label} can require the higher version, or " + - "(b) you manually update your Python environment to use at " + - f"least version {_next_supported_version} of " + - f"{_dependency_package}.", - FutureWarning) + _dependency_package = "google.protobuf" + _next_supported_version = "4.25.8" + _next_supported_version_tuple = (4, 25, 8) + _recommendation = " (we recommend 6.x)" + (_version_used, _version_used_string) = _get_version(_dependency_package) + if _version_used and _version_used < _next_supported_version_tuple: + warnings.warn(f"Package {_package_label} depends on " + + f"{_dependency_package}, currently installed at version " + + f"{_version_used_string}. Future updates to " + + f"{_package_label} will require {_dependency_package} at " + + f"version {_next_supported_version} or higher{_recommendation}." + + " Please ensure " + + "that either (a) your Python environment doesn't pin the " + + f"version of {_dependency_package}, so that updates to " + + f"{_package_label} can require the higher version, or " + + "(b) you manually update your Python environment to use at " + + f"least version {_next_supported_version} of " + + f"{_dependency_package}.", + FutureWarning) + except Exception: + warnings.warn("Could not determine the version of Python " + + "currently being used. To continue receiving " + + "updates for {_package_label}, ensure you are " + + "using a supported version of Python; see " + + "https://devguide.python.org/versions/") from .services.cloud_redis import CloudRedisClient