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

Commit 1d2ebf9

Browse files
fix: enable self signed jwt for grpc (#23)
PiperOrigin-RevId: 386504689 Source-Link: googleapis/googleapis@762094a Source-Link: https://github.com/googleapis/googleapis-gen/commit/6bfc480e1a161d5de121c2bcc3745885d33b265a
1 parent 53c18ea commit 1d2ebf9

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

google/cloud/resourcesettings_v1/services/resource_settings_service/client.py

+4
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,10 @@ def __init__(
358358
client_cert_source_for_mtls=client_cert_source_func,
359359
quota_project_id=client_options.quota_project_id,
360360
client_info=client_info,
361+
always_use_jwt_access=(
362+
Transport == type(self).get_transport_class("grpc")
363+
or Transport == type(self).get_transport_class("grpc_asyncio")
364+
),
361365
)
362366

363367
def list_settings(

tests/unit/gapic/resourcesettings_v1/test_resource_settings_service.py

+18-13
Original file line numberDiff line numberDiff line change
@@ -125,26 +125,14 @@ def test_resource_settings_service_client_from_service_account_info(client_class
125125
assert client.transport._host == "resourcesettings.googleapis.com:443"
126126

127127

128-
@pytest.mark.parametrize(
129-
"client_class", [ResourceSettingsServiceClient, ResourceSettingsServiceAsyncClient,]
130-
)
131-
def test_resource_settings_service_client_service_account_always_use_jwt(client_class):
132-
with mock.patch.object(
133-
service_account.Credentials, "with_always_use_jwt_access", create=True
134-
) as use_jwt:
135-
creds = service_account.Credentials(None, None, None)
136-
client = client_class(credentials=creds)
137-
use_jwt.assert_not_called()
138-
139-
140128
@pytest.mark.parametrize(
141129
"transport_class,transport_name",
142130
[
143131
(transports.ResourceSettingsServiceGrpcTransport, "grpc"),
144132
(transports.ResourceSettingsServiceGrpcAsyncIOTransport, "grpc_asyncio"),
145133
],
146134
)
147-
def test_resource_settings_service_client_service_account_always_use_jwt_true(
135+
def test_resource_settings_service_client_service_account_always_use_jwt(
148136
transport_class, transport_name
149137
):
150138
with mock.patch.object(
@@ -154,6 +142,13 @@ def test_resource_settings_service_client_service_account_always_use_jwt_true(
154142
transport = transport_class(credentials=creds, always_use_jwt_access=True)
155143
use_jwt.assert_called_once_with(True)
156144

145+
with mock.patch.object(
146+
service_account.Credentials, "with_always_use_jwt_access", create=True
147+
) as use_jwt:
148+
creds = service_account.Credentials(None, None, None)
149+
transport = transport_class(credentials=creds, always_use_jwt_access=False)
150+
use_jwt.assert_not_called()
151+
157152

158153
@pytest.mark.parametrize(
159154
"client_class", [ResourceSettingsServiceClient, ResourceSettingsServiceAsyncClient,]
@@ -238,6 +233,7 @@ def test_resource_settings_service_client_client_options(
238233
client_cert_source_for_mtls=None,
239234
quota_project_id=None,
240235
client_info=transports.base.DEFAULT_CLIENT_INFO,
236+
always_use_jwt_access=True,
241237
)
242238

243239
# Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT is
@@ -254,6 +250,7 @@ def test_resource_settings_service_client_client_options(
254250
client_cert_source_for_mtls=None,
255251
quota_project_id=None,
256252
client_info=transports.base.DEFAULT_CLIENT_INFO,
253+
always_use_jwt_access=True,
257254
)
258255

259256
# Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT is
@@ -270,6 +267,7 @@ def test_resource_settings_service_client_client_options(
270267
client_cert_source_for_mtls=None,
271268
quota_project_id=None,
272269
client_info=transports.base.DEFAULT_CLIENT_INFO,
270+
always_use_jwt_access=True,
273271
)
274272

275273
# Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT has
@@ -298,6 +296,7 @@ def test_resource_settings_service_client_client_options(
298296
client_cert_source_for_mtls=None,
299297
quota_project_id="octopus",
300298
client_info=transports.base.DEFAULT_CLIENT_INFO,
299+
always_use_jwt_access=True,
301300
)
302301

303302

@@ -374,6 +373,7 @@ def test_resource_settings_service_client_mtls_env_auto(
374373
client_cert_source_for_mtls=expected_client_cert_source,
375374
quota_project_id=None,
376375
client_info=transports.base.DEFAULT_CLIENT_INFO,
376+
always_use_jwt_access=True,
377377
)
378378

379379
# Check the case ADC client cert is provided. Whether client cert is used depends on
@@ -407,6 +407,7 @@ def test_resource_settings_service_client_mtls_env_auto(
407407
client_cert_source_for_mtls=expected_client_cert_source,
408408
quota_project_id=None,
409409
client_info=transports.base.DEFAULT_CLIENT_INFO,
410+
always_use_jwt_access=True,
410411
)
411412

412413
# Check the case client_cert_source and ADC client cert are not provided.
@@ -428,6 +429,7 @@ def test_resource_settings_service_client_mtls_env_auto(
428429
client_cert_source_for_mtls=None,
429430
quota_project_id=None,
430431
client_info=transports.base.DEFAULT_CLIENT_INFO,
432+
always_use_jwt_access=True,
431433
)
432434

433435

@@ -462,6 +464,7 @@ def test_resource_settings_service_client_client_options_scopes(
462464
client_cert_source_for_mtls=None,
463465
quota_project_id=None,
464466
client_info=transports.base.DEFAULT_CLIENT_INFO,
467+
always_use_jwt_access=True,
465468
)
466469

467470

@@ -496,6 +499,7 @@ def test_resource_settings_service_client_client_options_credentials_file(
496499
client_cert_source_for_mtls=None,
497500
quota_project_id=None,
498501
client_info=transports.base.DEFAULT_CLIENT_INFO,
502+
always_use_jwt_access=True,
499503
)
500504

501505

@@ -515,6 +519,7 @@ def test_resource_settings_service_client_client_options_from_dict():
515519
client_cert_source_for_mtls=None,
516520
quota_project_id=None,
517521
client_info=transports.base.DEFAULT_CLIENT_INFO,
522+
always_use_jwt_access=True,
518523
)
519524

520525

0 commit comments

Comments
 (0)