Skip to content
This repository was archived by the owner on Dec 31, 2023. It is now read-only.

Commit 59cb75d

Browse files
fix(deps): require google-api-core >= 2.8.0 (#193)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 459095142 Source-Link: googleapis/googleapis@4f1be99 Source-Link: https://github.com/googleapis/googleapis-gen/commit/ae686d9cde4fc3e36d0ac02efb8643b15890c1ed Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWU2ODZkOWNkZTRmYzNlMzZkMGFjMDJlZmI4NjQzYjE1ODkwYzFlZCJ9 feat: add audience parameter PiperOrigin-RevId: 456827138 Source-Link: googleapis/googleapis@23f1a15 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4075a8514f676691ec156688a5bbf183aa9893ce Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDA3NWE4NTE0ZjY3NjY5MWVjMTU2Njg4YTViYmYxODNhYTk4OTNjZSJ9
1 parent 08f46fd commit 59cb75d

File tree

8 files changed

+40
-20
lines changed

8 files changed

+40
-20
lines changed

grafeas/grafeas_v1/services/grafeas/transports/base.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def __init__(
5555
quota_project_id: Optional[str] = None,
5656
client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
5757
always_use_jwt_access: Optional[bool] = False,
58+
api_audience: Optional[str] = None,
5859
**kwargs,
5960
) -> None:
6061
"""Instantiate the transport.
@@ -82,11 +83,6 @@ def __init__(
8283
be used for service account credentials.
8384
"""
8485

85-
# Save the hostname. Default to port 443 (HTTPS) if none is specified.
86-
if ":" not in host:
87-
host += ":443"
88-
self._host = host
89-
9086
scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES}
9187

9288
# Save the scopes.
@@ -107,6 +103,11 @@ def __init__(
107103
credentials, _ = google.auth.default(
108104
**scopes_kwargs, quota_project_id=quota_project_id
109105
)
106+
# Don't apply audience if the credentials file passed from user.
107+
if hasattr(credentials, "with_gdch_audience"):
108+
credentials = credentials.with_gdch_audience(
109+
api_audience if api_audience else host
110+
)
110111

111112
# If the credentials are service account credentials, then always try to use self signed JWT.
112113
if (
@@ -119,6 +120,11 @@ def __init__(
119120
# Save the credentials.
120121
self._credentials = credentials
121122

123+
# Save the hostname. Default to port 443 (HTTPS) if none is specified.
124+
if ":" not in host:
125+
host += ":443"
126+
self._host = host
127+
122128
def _prep_wrapped_messages(self, client_info):
123129
# Precompute the wrapped methods.
124130
self._wrapped_methods = {

grafeas/grafeas_v1/services/grafeas/transports/grpc.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ def __init__(
7474
quota_project_id: Optional[str] = None,
7575
client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
7676
always_use_jwt_access: Optional[bool] = False,
77+
api_audience: Optional[str] = None,
7778
) -> None:
7879
"""Instantiate the transport.
7980
@@ -169,6 +170,7 @@ def __init__(
169170
quota_project_id=quota_project_id,
170171
client_info=client_info,
171172
always_use_jwt_access=always_use_jwt_access,
173+
api_audience=api_audience,
172174
)
173175

174176
if not self._grpc_channel:

grafeas/grafeas_v1/services/grafeas/transports/grpc_asyncio.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ def __init__(
119119
quota_project_id=None,
120120
client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
121121
always_use_jwt_access: Optional[bool] = False,
122+
api_audience: Optional[str] = None,
122123
) -> None:
123124
"""Instantiate the transport.
124125
@@ -214,6 +215,7 @@ def __init__(
214215
quota_project_id=quota_project_id,
215216
client_info=client_info,
216217
always_use_jwt_access=always_use_jwt_access,
218+
api_audience=api_audience,
217219
)
218220

219221
if not self._grpc_channel:

owlbot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ def test_grafeas_host_no_port.*?def test_grafeas_grpc_transport_channel""",
213213
\]\)
214214
def test_api_key_credentials.*?client_info=transports.base.DEFAULT_CLIENT_INFO,
215215
always_use_jwt_access=True,
216+
api_audience=None,
216217
\)""",
217218
"""""",
218219

setup.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@
2424
version = "1.4.5"
2525
release_status = "Development Status :: 5 - Production/Stable"
2626
dependencies = [
27-
# NOTE: Maintainers, please do not require google-api-core>=2.x.x
28-
# Until this issue is closed
29-
# https://github.com/googleapis/google-cloud-python/issues/10566
30-
"google-api-core[grpc] >= 1.31.5, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0",
27+
"google-api-core[grpc] >= 2.8.0, <3.0.0dev",
3128
"proto-plus >= 1.15.0, <2.0.0dev",
3229
"protobuf >= 3.19.0, <4.0.0dev",
3330
]

testing/constraints-3.6.txt

Lines changed: 0 additions & 10 deletions
This file was deleted.

testing/constraints-3.7.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
#
66
# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev",
77
# Then this file should have foo==1.14.0
8-
google-api-core==1.31.5
8+
google-api-core==2.8.0
99
proto-plus==1.15.0
1010
protobuf==3.19.0

tests/unit/gapic/grafeas_v1/test_grafeas.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4097,6 +4097,28 @@ def test_grafeas_transport_auth_adc(transport_class):
40974097
)
40984098

40994099

4100+
@pytest.mark.parametrize(
4101+
"transport_class",
4102+
[
4103+
transports.GrafeasGrpcTransport,
4104+
transports.GrafeasGrpcAsyncIOTransport,
4105+
],
4106+
)
4107+
def test_grafeas_transport_auth_gdch_credentials(transport_class):
4108+
host = "https://language.com"
4109+
api_audience_tests = [None, "https://language2.com"]
4110+
api_audience_expect = [host, "https://language2.com"]
4111+
for t, e in zip(api_audience_tests, api_audience_expect):
4112+
with mock.patch.object(google.auth, "default", autospec=True) as adc:
4113+
gdch_mock = mock.MagicMock()
4114+
type(gdch_mock).with_gdch_audience = mock.PropertyMock(
4115+
return_value=gdch_mock
4116+
)
4117+
adc.return_value = (gdch_mock, None)
4118+
transport_class(host=host, api_audience=t)
4119+
gdch_mock.with_gdch_audience.assert_called_once_with(e)
4120+
4121+
41004122
@pytest.mark.parametrize(
41014123
"transport_class,grpc_helpers",
41024124
[

0 commit comments

Comments
 (0)