From c6cd1b0f58803d8eb13c3d7bf4e60780650f668e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 11:00:18 +0000 Subject: [PATCH] chore: use gapic-generator-python 0.53.4 (#103) - [ ] Regenerate this pull request now. docs: list oneofs in docstring fix(deps): require google-api-core >= 1.28.0 fix(deps): drop packaging dependency committer: busunkim96@ PiperOrigin-RevId: 406468269 Source-Link: https://github.com/googleapis/googleapis/commit/83d81b0c8fc22291a13398d6d77f02dc97a5b6f4 Source-Link: https://github.com/googleapis/googleapis-gen/commit/2ff001fbacb9e77e71d734de5f955c05fdae8526 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMmZmMDAxZmJhY2I5ZTc3ZTcxZDczNGRlNWY5NTVjMDVmZGFlODUyNiJ9 --- .../services/hub_service/async_client.py | 64 +++++++------- .../services/hub_service/client.py | 22 ++--- .../services/hub_service/transports/base.py | 37 +------- .../services/hub_service/transports/grpc.py | 2 +- .../hub_service/transports/grpc_asyncio.py | 3 +- .../services/hub_service/async_client.py | 64 +++++++------- .../services/hub_service/client.py | 22 ++--- .../services/hub_service/transports/base.py | 37 +------- .../services/hub_service/transports/grpc.py | 2 +- .../hub_service/transports/grpc_asyncio.py | 3 +- setup.py | 3 +- testing/constraints-3.6.txt | 6 +- .../test_hub_service.py | 88 ++----------------- .../test_hub_service.py | 88 ++----------------- 14 files changed, 118 insertions(+), 323 deletions(-) diff --git a/google/cloud/networkconnectivity_v1/services/hub_service/async_client.py b/google/cloud/networkconnectivity_v1/services/hub_service/async_client.py index 914a72d..ad9cf35 100644 --- a/google/cloud/networkconnectivity_v1/services/hub_service/async_client.py +++ b/google/cloud/networkconnectivity_v1/services/hub_service/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -import google.api_core.client_options as ClientOptions # type: ignore +from google.api_core.client_options import ClientOptions # type: ignore from google.api_core import exceptions as core_exceptions # type: ignore from google.api_core import gapic_v1 # type: ignore from google.api_core import retry as retries # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.networkconnectivity_v1.services.hub_service import pagers @@ -182,17 +184,17 @@ def __init__( async def list_hubs( self, - request: hub.ListHubsRequest = None, + request: Union[hub.ListHubsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListHubsAsyncPager: r"""Lists hubs in a given project. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.ListHubsRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.ListHubsRequest, dict]): The request object. Request for [HubService.ListHubs][google.cloud.networkconnectivity.v1.HubService.ListHubs] method. @@ -262,17 +264,17 @@ async def list_hubs( async def get_hub( self, - request: hub.GetHubRequest = None, + request: Union[hub.GetHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Hub: r"""Gets details about the specified hub. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.GetHubRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.GetHubRequest, dict]): The request object. Request for [HubService.GetHub][google.cloud.networkconnectivity.v1.HubService.GetHub] method. @@ -338,19 +340,19 @@ async def get_hub( async def create_hub( self, - request: gcn_hub.CreateHubRequest = None, + request: Union[gcn_hub.CreateHubRequest, dict] = None, *, parent: str = None, hub: gcn_hub.Hub = None, hub_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Creates a new hub in the specified project. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.CreateHubRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.CreateHubRequest, dict]): The request object. Request for [HubService.CreateHub][google.cloud.networkconnectivity.v1.HubService.CreateHub] method. @@ -440,11 +442,11 @@ async def create_hub( async def update_hub( self, - request: gcn_hub.UpdateHubRequest = None, + request: Union[gcn_hub.UpdateHubRequest, dict] = None, *, hub: gcn_hub.Hub = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -452,7 +454,7 @@ async def update_hub( specified hub. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.UpdateHubRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.UpdateHubRequest, dict]): The request object. Request for [HubService.UpdateHub][google.cloud.networkconnectivity.v1.HubService.UpdateHub] method. @@ -539,17 +541,17 @@ async def update_hub( async def delete_hub( self, - request: hub.DeleteHubRequest = None, + request: Union[hub.DeleteHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes the specified hub. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.DeleteHubRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.DeleteHubRequest, dict]): The request object. The request for [HubService.DeleteHub][google.cloud.networkconnectivity.v1.HubService.DeleteHub]. name (:class:`str`): @@ -631,10 +633,10 @@ async def delete_hub( async def list_spokes( self, - request: hub.ListSpokesRequest = None, + request: Union[hub.ListSpokesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListSpokesAsyncPager: @@ -642,7 +644,7 @@ async def list_spokes( location. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.ListSpokesRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.ListSpokesRequest, dict]): The request object. The request for [HubService.ListSpokes][google.cloud.networkconnectivity.v1.HubService.ListSpokes]. parent (:class:`str`): @@ -710,17 +712,17 @@ async def list_spokes( async def get_spoke( self, - request: hub.GetSpokeRequest = None, + request: Union[hub.GetSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Spoke: r"""Gets details about the specified spoke. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.GetSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.GetSpokeRequest, dict]): The request object. The request for [HubService.GetSpoke][google.cloud.networkconnectivity.v1.HubService.GetSpoke]. name (:class:`str`): @@ -789,12 +791,12 @@ async def get_spoke( async def create_spoke( self, - request: hub.CreateSpokeRequest = None, + request: Union[hub.CreateSpokeRequest, dict] = None, *, parent: str = None, spoke: hub.Spoke = None, spoke_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: @@ -802,7 +804,7 @@ async def create_spoke( location. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.CreateSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.CreateSpokeRequest, dict]): The request object. The request for [HubService.CreateSpoke][google.cloud.networkconnectivity.v1.HubService.CreateSpoke]. parent (:class:`str`): @@ -897,18 +899,18 @@ async def create_spoke( async def update_spoke( self, - request: hub.UpdateSpokeRequest = None, + request: Union[hub.UpdateSpokeRequest, dict] = None, *, spoke: hub.Spoke = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Updates the parameters of the specified spoke. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.UpdateSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.UpdateSpokeRequest, dict]): The request object. Request for [HubService.UpdateSpoke][google.cloud.networkconnectivity.v1.HubService.UpdateSpoke] method. @@ -1003,17 +1005,17 @@ async def update_spoke( async def delete_spoke( self, - request: hub.DeleteSpokeRequest = None, + request: Union[hub.DeleteSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes the specified spoke. Args: - request (:class:`google.cloud.networkconnectivity_v1.types.DeleteSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1.types.DeleteSpokeRequest, dict]): The request object. The request for [HubService.DeleteSpoke][google.cloud.networkconnectivity.v1.HubService.DeleteSpoke]. name (:class:`str`): diff --git a/google/cloud/networkconnectivity_v1/services/hub_service/client.py b/google/cloud/networkconnectivity_v1/services/hub_service/client.py index 5f7140c..51a4780 100644 --- a/google/cloud/networkconnectivity_v1/services/hub_service/client.py +++ b/google/cloud/networkconnectivity_v1/services/hub_service/client.py @@ -30,6 +30,8 @@ from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.networkconnectivity_v1.services.hub_service import pagers @@ -441,7 +443,7 @@ def list_hubs( request: Union[hub.ListHubsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListHubsPager: @@ -521,7 +523,7 @@ def get_hub( request: Union[hub.GetHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Hub: @@ -599,7 +601,7 @@ def create_hub( parent: str = None, hub: gcn_hub.Hub = None, hub_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -700,7 +702,7 @@ def update_hub( *, hub: gcn_hub.Hub = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -798,7 +800,7 @@ def delete_hub( request: Union[hub.DeleteHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -890,7 +892,7 @@ def list_spokes( request: Union[hub.ListSpokesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListSpokesPager: @@ -969,7 +971,7 @@ def get_spoke( request: Union[hub.GetSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Spoke: @@ -1050,7 +1052,7 @@ def create_spoke( parent: str = None, spoke: hub.Spoke = None, spoke_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1157,7 +1159,7 @@ def update_spoke( *, spoke: hub.Spoke = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1262,7 +1264,7 @@ def delete_spoke( request: Union[hub.DeleteSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: diff --git a/google/cloud/networkconnectivity_v1/services/hub_service/transports/base.py b/google/cloud/networkconnectivity_v1/services/hub_service/transports/base.py index cdad3da..48e7642 100644 --- a/google/cloud/networkconnectivity_v1/services/hub_service/transports/base.py +++ b/google/cloud/networkconnectivity_v1/services/hub_service/transports/base.py @@ -15,7 +15,6 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import packaging.version import pkg_resources import google.auth # type: ignore @@ -40,15 +39,6 @@ except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() -try: - # google.auth.__version__ was added in 1.26.0 - _GOOGLE_AUTH_VERSION = google.auth.__version__ -except AttributeError: - try: # try pkg_resources if it is available - _GOOGLE_AUTH_VERSION = pkg_resources.get_distribution("google-auth").version - except pkg_resources.DistributionNotFound: # pragma: NO COVER - _GOOGLE_AUTH_VERSION = None - class HubServiceTransport(abc.ABC): """Abstract transport class for HubService.""" @@ -98,7 +88,7 @@ def __init__( host += ":443" self._host = host - scopes_kwargs = self._get_scopes_kwargs(self._host, scopes) + scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES} # Save the scopes. self._scopes = scopes @@ -131,29 +121,6 @@ def __init__( # Save the credentials. self._credentials = credentials - # TODO(busunkim): This method is in the base transport - # to avoid duplicating code across the transport classes. These functions - # should be deleted once the minimum required versions of google-auth is increased. - - # TODO: Remove this function once google-auth >= 1.25.0 is required - @classmethod - def _get_scopes_kwargs( - cls, host: str, scopes: Optional[Sequence[str]] - ) -> Dict[str, Optional[Sequence[str]]]: - """Returns scopes kwargs to pass to google-auth methods depending on the google-auth version""" - - scopes_kwargs = {} - - if _GOOGLE_AUTH_VERSION and ( - packaging.version.parse(_GOOGLE_AUTH_VERSION) - >= packaging.version.parse("1.25.0") - ): - scopes_kwargs = {"scopes": scopes, "default_scopes": cls.AUTH_SCOPES} - else: - scopes_kwargs = {"scopes": scopes or cls.AUTH_SCOPES} - - return scopes_kwargs - def _prep_wrapped_messages(self, client_info): # Precompute the wrapped methods. self._wrapped_methods = { @@ -199,7 +166,7 @@ def close(self): raise NotImplementedError() @property - def operations_client(self) -> operations_v1.OperationsClient: + def operations_client(self): """Return the client designed to process long-running operations.""" raise NotImplementedError() diff --git a/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc.py b/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc.py index 8ed976d..fc8c26c 100644 --- a/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc.py +++ b/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc.py @@ -116,7 +116,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc_asyncio.py b/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc_asyncio.py index 91e5543..32349a9 100644 --- a/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc_asyncio.py +++ b/google/cloud/networkconnectivity_v1/services/hub_service/transports/grpc_asyncio.py @@ -21,7 +21,6 @@ from google.api_core import operations_v1 # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -import packaging.version import grpc # type: ignore from grpc.experimental import aio # type: ignore @@ -163,7 +162,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsAsyncClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/async_client.py b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/async_client.py index 8053514..ff42d53 100644 --- a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/async_client.py +++ b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/async_client.py @@ -19,13 +19,15 @@ from typing import Dict, Sequence, Tuple, Type, Union import pkg_resources -import google.api_core.client_options as ClientOptions # type: ignore +from google.api_core.client_options import ClientOptions # type: ignore from google.api_core import exceptions as core_exceptions # type: ignore from google.api_core import gapic_v1 # type: ignore from google.api_core import retry as retries # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.networkconnectivity_v1alpha1.services.hub_service import pagers @@ -180,17 +182,17 @@ def __init__( async def list_hubs( self, - request: hub.ListHubsRequest = None, + request: Union[hub.ListHubsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListHubsAsyncPager: r"""Lists Hubs in a given project and location. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.ListHubsRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.ListHubsRequest, dict]): The request object. Request for [HubService.ListHubs][google.cloud.networkconnectivity.v1alpha1.HubService.ListHubs] method. @@ -260,17 +262,17 @@ async def list_hubs( async def get_hub( self, - request: hub.GetHubRequest = None, + request: Union[hub.GetHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Hub: r"""Gets details of a single Hub. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.GetHubRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.GetHubRequest, dict]): The request object. Request for [HubService.GetHub][google.cloud.networkconnectivity.v1alpha1.HubService.GetHub] method. @@ -337,19 +339,19 @@ async def get_hub( async def create_hub( self, - request: gcn_hub.CreateHubRequest = None, + request: Union[gcn_hub.CreateHubRequest, dict] = None, *, parent: str = None, hub: gcn_hub.Hub = None, hub_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Creates a new Hub in a given project and location. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.CreateHubRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.CreateHubRequest, dict]): The request object. Request for [HubService.CreateHub][google.cloud.networkconnectivity.v1alpha1.HubService.CreateHub] method. @@ -442,18 +444,18 @@ async def create_hub( async def update_hub( self, - request: gcn_hub.UpdateHubRequest = None, + request: Union[gcn_hub.UpdateHubRequest, dict] = None, *, hub: gcn_hub.Hub = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Updates the parameters of a single Hub. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.UpdateHubRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.UpdateHubRequest, dict]): The request object. Request for [HubService.UpdateHub][google.cloud.networkconnectivity.v1alpha1.HubService.UpdateHub] method. @@ -541,17 +543,17 @@ async def update_hub( async def delete_hub( self, - request: hub.DeleteHubRequest = None, + request: Union[hub.DeleteHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single Hub. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.DeleteHubRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.DeleteHubRequest, dict]): The request object. The request for [HubService.DeleteHub][google.cloud.networkconnectivity.v1alpha1.HubService.DeleteHub]. name (:class:`str`): @@ -633,17 +635,17 @@ async def delete_hub( async def list_spokes( self, - request: hub.ListSpokesRequest = None, + request: Union[hub.ListSpokesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListSpokesAsyncPager: r"""Lists Spokes in a given project and location. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.ListSpokesRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.ListSpokesRequest, dict]): The request object. The request for [HubService.ListSpokes][google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokes]. parent (:class:`str`): @@ -711,17 +713,17 @@ async def list_spokes( async def get_spoke( self, - request: hub.GetSpokeRequest = None, + request: Union[hub.GetSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Spoke: r"""Gets details of a single Spoke. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.GetSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.GetSpokeRequest, dict]): The request object. The request for [HubService.GetSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.GetSpoke]. name (:class:`str`): @@ -783,19 +785,19 @@ async def get_spoke( async def create_spoke( self, - request: hub.CreateSpokeRequest = None, + request: Union[hub.CreateSpokeRequest, dict] = None, *, parent: str = None, spoke: hub.Spoke = None, spoke_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Creates a new Spoke in a given project and location. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.CreateSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.CreateSpokeRequest, dict]): The request object. The request for [HubService.CreateSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.CreateSpoke]. parent (:class:`str`): @@ -886,18 +888,18 @@ async def create_spoke( async def update_spoke( self, - request: hub.UpdateSpokeRequest = None, + request: Union[hub.UpdateSpokeRequest, dict] = None, *, spoke: hub.Spoke = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Updates the parameters of a single Spoke. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.UpdateSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.UpdateSpokeRequest, dict]): The request object. Request for [HubService.UpdateSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.UpdateSpoke] method. @@ -986,17 +988,17 @@ async def update_spoke( async def delete_spoke( self, - request: hub.DeleteSpokeRequest = None, + request: Union[hub.DeleteSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Deletes a single Spoke. Args: - request (:class:`google.cloud.networkconnectivity_v1alpha1.types.DeleteSpokeRequest`): + request (Union[google.cloud.networkconnectivity_v1alpha1.types.DeleteSpokeRequest, dict]): The request object. The request for [HubService.DeleteSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.DeleteSpoke]. name (:class:`str`): diff --git a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/client.py b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/client.py index e6e829b..be62e60 100644 --- a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/client.py +++ b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/client.py @@ -30,6 +30,8 @@ from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +OptionalRetry = Union[retries.Retry, object] + from google.api_core import operation # type: ignore from google.api_core import operation_async # type: ignore from google.cloud.networkconnectivity_v1alpha1.services.hub_service import pagers @@ -426,7 +428,7 @@ def list_hubs( request: Union[hub.ListHubsRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListHubsPager: @@ -506,7 +508,7 @@ def get_hub( request: Union[hub.GetHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Hub: @@ -585,7 +587,7 @@ def create_hub( parent: str = None, hub: gcn_hub.Hub = None, hub_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -689,7 +691,7 @@ def update_hub( *, hub: gcn_hub.Hub = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -787,7 +789,7 @@ def delete_hub( request: Union[hub.DeleteHubRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -879,7 +881,7 @@ def list_spokes( request: Union[hub.ListSpokesRequest, dict] = None, *, parent: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListSpokesPager: @@ -957,7 +959,7 @@ def get_spoke( request: Union[hub.GetSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> hub.Spoke: @@ -1031,7 +1033,7 @@ def create_spoke( parent: str = None, spoke: hub.Spoke = None, spoke_id: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1133,7 +1135,7 @@ def update_spoke( *, spoke: hub.Spoke = None, update_mask: field_mask_pb2.FieldMask = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: @@ -1232,7 +1234,7 @@ def delete_spoke( request: Union[hub.DeleteSpokeRequest, dict] = None, *, name: str = None, - retry: retries.Retry = gapic_v1.method.DEFAULT, + retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: float = None, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: diff --git a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/base.py b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/base.py index ac53ad9..049c461 100644 --- a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/base.py +++ b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/base.py @@ -15,7 +15,6 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import packaging.version import pkg_resources import google.auth # type: ignore @@ -40,15 +39,6 @@ except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() -try: - # google.auth.__version__ was added in 1.26.0 - _GOOGLE_AUTH_VERSION = google.auth.__version__ -except AttributeError: - try: # try pkg_resources if it is available - _GOOGLE_AUTH_VERSION = pkg_resources.get_distribution("google-auth").version - except pkg_resources.DistributionNotFound: # pragma: NO COVER - _GOOGLE_AUTH_VERSION = None - class HubServiceTransport(abc.ABC): """Abstract transport class for HubService.""" @@ -98,7 +88,7 @@ def __init__( host += ":443" self._host = host - scopes_kwargs = self._get_scopes_kwargs(self._host, scopes) + scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES} # Save the scopes. self._scopes = scopes @@ -131,29 +121,6 @@ def __init__( # Save the credentials. self._credentials = credentials - # TODO(busunkim): This method is in the base transport - # to avoid duplicating code across the transport classes. These functions - # should be deleted once the minimum required versions of google-auth is increased. - - # TODO: Remove this function once google-auth >= 1.25.0 is required - @classmethod - def _get_scopes_kwargs( - cls, host: str, scopes: Optional[Sequence[str]] - ) -> Dict[str, Optional[Sequence[str]]]: - """Returns scopes kwargs to pass to google-auth methods depending on the google-auth version""" - - scopes_kwargs = {} - - if _GOOGLE_AUTH_VERSION and ( - packaging.version.parse(_GOOGLE_AUTH_VERSION) - >= packaging.version.parse("1.25.0") - ): - scopes_kwargs = {"scopes": scopes, "default_scopes": cls.AUTH_SCOPES} - else: - scopes_kwargs = {"scopes": scopes or cls.AUTH_SCOPES} - - return scopes_kwargs - def _prep_wrapped_messages(self, client_info): # Precompute the wrapped methods. self._wrapped_methods = { @@ -199,7 +166,7 @@ def close(self): raise NotImplementedError() @property - def operations_client(self) -> operations_v1.OperationsClient: + def operations_client(self): """Return the client designed to process long-running operations.""" raise NotImplementedError() diff --git a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc.py b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc.py index 8e99920..1859937 100644 --- a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc.py +++ b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc.py @@ -116,7 +116,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc_asyncio.py b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc_asyncio.py index 2d3b1d8..a6dd9c4 100644 --- a/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc_asyncio.py +++ b/google/cloud/networkconnectivity_v1alpha1/services/hub_service/transports/grpc_asyncio.py @@ -21,7 +21,6 @@ from google.api_core import operations_v1 # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -import packaging.version import grpc # type: ignore from grpc.experimental import aio # type: ignore @@ -163,7 +162,7 @@ def __init__( self._grpc_channel = None self._ssl_channel_credentials = ssl_channel_credentials self._stubs: Dict[str, Callable] = {} - self._operations_client = None + self._operations_client: Optional[operations_v1.OperationsAsyncClient] = None if api_mtls_endpoint: warnings.warn("api_mtls_endpoint is deprecated", DeprecationWarning) diff --git a/setup.py b/setup.py index 77e788e..10d7ad4 100644 --- a/setup.py +++ b/setup.py @@ -47,9 +47,8 @@ # NOTE: Maintainers, please do not require google-api-core>=2.x.x # Until this issue is closed # https://github.com/googleapis/google-cloud-python/issues/10566 - "google-api-core[grpc] >= 1.26.0, <3.0.0dev", + "google-api-core[grpc] >= 1.28.0, <3.0.0dev", "proto-plus >= 1.4.0", - "packaging >= 14.3", ), python_requires=">=3.6", classifiers=[ diff --git a/testing/constraints-3.6.txt b/testing/constraints-3.6.txt index cde1ce3..8fad4fc 100644 --- a/testing/constraints-3.6.txt +++ b/testing/constraints-3.6.txt @@ -19,9 +19,5 @@ # # e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", # Then this file should have foo==1.14.0 -google-api-core==1.26.0 +google-api-core==1.28.0 proto-plus==1.4.0 -packaging==14.3 -# TODO: remove once google-auth>=1.25.0 is required transitively -# through google-api-core>=1.28.0 -google-auth==1.24.0 diff --git a/tests/unit/gapic/networkconnectivity_v1/test_hub_service.py b/tests/unit/gapic/networkconnectivity_v1/test_hub_service.py index f2fe0b3..55c8400 100644 --- a/tests/unit/gapic/networkconnectivity_v1/test_hub_service.py +++ b/tests/unit/gapic/networkconnectivity_v1/test_hub_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -41,9 +40,6 @@ from google.cloud.networkconnectivity_v1.services.hub_service import HubServiceClient from google.cloud.networkconnectivity_v1.services.hub_service import pagers from google.cloud.networkconnectivity_v1.services.hub_service import transports -from google.cloud.networkconnectivity_v1.services.hub_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.networkconnectivity_v1.types import common from google.cloud.networkconnectivity_v1.types import hub from google.cloud.networkconnectivity_v1.types import hub as gcn_hub @@ -54,20 +50,6 @@ import google.auth -# TODO(busunkim): Once google-auth >= 1.25.0 is required transitively -# through google-api-core: -# - Delete the auth "less than" test cases -# - Delete these pytest markers (Make the "greater than or equal to" tests the default). -requires_google_auth_lt_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) >= packaging.version.parse("1.25.0"), - reason="This test requires google-auth < 1.25.0", -) -requires_google_auth_gte_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) < packaging.version.parse("1.25.0"), - reason="This test requires google-auth >= 1.25.0", -) - - def client_cert_source_callback(): return b"cert bytes", b"key bytes" @@ -215,7 +197,7 @@ def test_hub_service_client_client_options( options = client_options.ClientOptions(api_endpoint="squid.clam.whelk") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -232,7 +214,7 @@ def test_hub_service_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -249,7 +231,7 @@ def test_hub_service_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -278,7 +260,7 @@ def test_hub_service_client_client_options( options = client_options.ClientOptions(quota_project_id="octopus") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -335,7 +317,7 @@ def test_hub_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -377,7 +359,7 @@ def test_hub_service_client_mtls_env_auto( expected_client_cert_source = client_cert_source_callback patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -399,7 +381,7 @@ def test_hub_service_client_mtls_env_auto( return_value=False, ): patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -430,7 +412,7 @@ def test_hub_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -461,7 +443,7 @@ def test_hub_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2844,7 +2826,6 @@ def test_hub_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_hub_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2865,26 +2846,6 @@ def test_hub_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_hub_service_base_transport_with_credentials_file_old_google_auth(): - # Instantiate the base transport with a credentials file - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch( - "google.cloud.networkconnectivity_v1.services.hub_service.transports.HubServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.HubServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - def test_hub_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2896,7 +2857,6 @@ def test_hub_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_hub_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2909,23 +2869,10 @@ def test_hub_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_hub_service_auth_adc_old_google_auth(): - # If no credentials are provided, we should use ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - HubServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [transports.HubServiceGrpcTransport, transports.HubServiceGrpcAsyncIOTransport,], ) -@requires_google_auth_gte_1_25_0 def test_hub_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2939,23 +2886,6 @@ def test_hub_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [transports.HubServiceGrpcTransport, transports.HubServiceGrpcAsyncIOTransport,], -) -@requires_google_auth_lt_1_25_0 -def test_hub_service_transport_auth_adc_old_google_auth(transport_class): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class(quota_project_id="octopus") - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [ diff --git a/tests/unit/gapic/networkconnectivity_v1alpha1/test_hub_service.py b/tests/unit/gapic/networkconnectivity_v1alpha1/test_hub_service.py index 0a9461d..3ca4118 100644 --- a/tests/unit/gapic/networkconnectivity_v1alpha1/test_hub_service.py +++ b/tests/unit/gapic/networkconnectivity_v1alpha1/test_hub_service.py @@ -15,7 +15,6 @@ # import os import mock -import packaging.version import grpc from grpc.experimental import aio @@ -43,9 +42,6 @@ ) from google.cloud.networkconnectivity_v1alpha1.services.hub_service import pagers from google.cloud.networkconnectivity_v1alpha1.services.hub_service import transports -from google.cloud.networkconnectivity_v1alpha1.services.hub_service.transports.base import ( - _GOOGLE_AUTH_VERSION, -) from google.cloud.networkconnectivity_v1alpha1.types import common from google.cloud.networkconnectivity_v1alpha1.types import hub from google.cloud.networkconnectivity_v1alpha1.types import hub as gcn_hub @@ -56,20 +52,6 @@ import google.auth -# TODO(busunkim): Once google-auth >= 1.25.0 is required transitively -# through google-api-core: -# - Delete the auth "less than" test cases -# - Delete these pytest markers (Make the "greater than or equal to" tests the default). -requires_google_auth_lt_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) >= packaging.version.parse("1.25.0"), - reason="This test requires google-auth < 1.25.0", -) -requires_google_auth_gte_1_25_0 = pytest.mark.skipif( - packaging.version.parse(_GOOGLE_AUTH_VERSION) < packaging.version.parse("1.25.0"), - reason="This test requires google-auth >= 1.25.0", -) - - def client_cert_source_callback(): return b"cert bytes", b"key bytes" @@ -217,7 +199,7 @@ def test_hub_service_client_client_options( options = client_options.ClientOptions(api_endpoint="squid.clam.whelk") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -234,7 +216,7 @@ def test_hub_service_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "never"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -251,7 +233,7 @@ def test_hub_service_client_client_options( with mock.patch.dict(os.environ, {"GOOGLE_API_USE_MTLS_ENDPOINT": "always"}): with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -280,7 +262,7 @@ def test_hub_service_client_client_options( options = client_options.ClientOptions(quota_project_id="octopus") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -337,7 +319,7 @@ def test_hub_service_client_mtls_env_auto( ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) if use_client_cert_env == "false": expected_client_cert_source = None @@ -379,7 +361,7 @@ def test_hub_service_client_mtls_env_auto( expected_client_cert_source = client_cert_source_callback patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -401,7 +383,7 @@ def test_hub_service_client_mtls_env_auto( return_value=False, ): patched.return_value = None - client = client_class() + client = client_class(transport=transport_name) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -432,7 +414,7 @@ def test_hub_service_client_client_options_scopes( options = client_options.ClientOptions(scopes=["1", "2"],) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file=None, @@ -463,7 +445,7 @@ def test_hub_service_client_client_options_credentials_file( options = client_options.ClientOptions(credentials_file="credentials.json") with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None - client = client_class(client_options=options) + client = client_class(transport=transport_name, client_options=options) patched.assert_called_once_with( credentials=None, credentials_file="credentials.json", @@ -2864,7 +2846,6 @@ def test_hub_service_base_transport(): transport.operations_client -@requires_google_auth_gte_1_25_0 def test_hub_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file with mock.patch.object( @@ -2885,26 +2866,6 @@ def test_hub_service_base_transport_with_credentials_file(): ) -@requires_google_auth_lt_1_25_0 -def test_hub_service_base_transport_with_credentials_file_old_google_auth(): - # Instantiate the base transport with a credentials file - with mock.patch.object( - google.auth, "load_credentials_from_file", autospec=True - ) as load_creds, mock.patch( - "google.cloud.networkconnectivity_v1alpha1.services.hub_service.transports.HubServiceTransport._prep_wrapped_messages" - ) as Transport: - Transport.return_value = None - load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) - transport = transports.HubServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", - ) - load_creds.assert_called_once_with( - "credentials.json", - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - def test_hub_service_base_transport_with_adc(): # Test the default credentials are used if credentials and credentials_file are None. with mock.patch.object(google.auth, "default", autospec=True) as adc, mock.patch( @@ -2916,7 +2877,6 @@ def test_hub_service_base_transport_with_adc(): adc.assert_called_once() -@requires_google_auth_gte_1_25_0 def test_hub_service_auth_adc(): # If no credentials are provided, we should use ADC credentials. with mock.patch.object(google.auth, "default", autospec=True) as adc: @@ -2929,23 +2889,10 @@ def test_hub_service_auth_adc(): ) -@requires_google_auth_lt_1_25_0 -def test_hub_service_auth_adc_old_google_auth(): - # If no credentials are provided, we should use ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - HubServiceClient() - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id=None, - ) - - @pytest.mark.parametrize( "transport_class", [transports.HubServiceGrpcTransport, transports.HubServiceGrpcAsyncIOTransport,], ) -@requires_google_auth_gte_1_25_0 def test_hub_service_transport_auth_adc(transport_class): # If credentials and host are not provided, the transport class should use # ADC credentials. @@ -2959,23 +2906,6 @@ def test_hub_service_transport_auth_adc(transport_class): ) -@pytest.mark.parametrize( - "transport_class", - [transports.HubServiceGrpcTransport, transports.HubServiceGrpcAsyncIOTransport,], -) -@requires_google_auth_lt_1_25_0 -def test_hub_service_transport_auth_adc_old_google_auth(transport_class): - # If credentials and host are not provided, the transport class should use - # ADC credentials. - with mock.patch.object(google.auth, "default", autospec=True) as adc: - adc.return_value = (ga_credentials.AnonymousCredentials(), None) - transport_class(quota_project_id="octopus") - adc.assert_called_once_with( - scopes=("https://www.googleapis.com/auth/cloud-platform",), - quota_project_id="octopus", - ) - - @pytest.mark.parametrize( "transport_class,grpc_helpers", [