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

fix: enable self signed jwt for grpc #61

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,10 @@ def __init__(
client_cert_source_for_mtls=client_cert_source_func,
quota_project_id=client_options.quota_project_id,
client_info=client_info,
always_use_jwt_access=(
Transport == type(self).get_transport_class("grpc")
or Transport == type(self).get_transport_class("grpc_asyncio")
),
)

def get_policy(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,24 +143,6 @@ def test_binauthz_management_service_v1_beta1_client_from_service_account_info(
assert client.transport._host == "binaryauthorization.googleapis.com:443"


@pytest.mark.parametrize(
"client_class",
[
BinauthzManagementServiceV1Beta1Client,
BinauthzManagementServiceV1Beta1AsyncClient,
],
)
def test_binauthz_management_service_v1_beta1_client_service_account_always_use_jwt(
client_class,
):
with mock.patch.object(
service_account.Credentials, "with_always_use_jwt_access", create=True
) as use_jwt:
creds = service_account.Credentials(None, None, None)
client = client_class(credentials=creds)
use_jwt.assert_not_called()


@pytest.mark.parametrize(
"transport_class,transport_name",
[
Expand All @@ -171,7 +153,7 @@ def test_binauthz_management_service_v1_beta1_client_service_account_always_use_
),
],
)
def test_binauthz_management_service_v1_beta1_client_service_account_always_use_jwt_true(
def test_binauthz_management_service_v1_beta1_client_service_account_always_use_jwt(
transport_class, transport_name
):
with mock.patch.object(
Expand All @@ -181,6 +163,13 @@ def test_binauthz_management_service_v1_beta1_client_service_account_always_use_
transport = transport_class(credentials=creds, always_use_jwt_access=True)
use_jwt.assert_called_once_with(True)

with mock.patch.object(
service_account.Credentials, "with_always_use_jwt_access", create=True
) as use_jwt:
creds = service_account.Credentials(None, None, None)
transport = transport_class(credentials=creds, always_use_jwt_access=False)
use_jwt.assert_not_called()


@pytest.mark.parametrize(
"client_class",
Expand Down Expand Up @@ -275,6 +264,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options(
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)

# Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT is
Expand All @@ -291,6 +281,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options(
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)

# Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT is
Expand All @@ -307,6 +298,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options(
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)

# Check the case api_endpoint is not provided and GOOGLE_API_USE_MTLS_ENDPOINT has
Expand Down Expand Up @@ -335,6 +327,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options(
client_cert_source_for_mtls=None,
quota_project_id="octopus",
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)


Expand Down Expand Up @@ -411,6 +404,7 @@ def test_binauthz_management_service_v1_beta1_client_mtls_env_auto(
client_cert_source_for_mtls=expected_client_cert_source,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)

# Check the case ADC client cert is provided. Whether client cert is used depends on
Expand Down Expand Up @@ -444,6 +438,7 @@ def test_binauthz_management_service_v1_beta1_client_mtls_env_auto(
client_cert_source_for_mtls=expected_client_cert_source,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)

# Check the case client_cert_source and ADC client cert are not provided.
Expand All @@ -465,6 +460,7 @@ def test_binauthz_management_service_v1_beta1_client_mtls_env_auto(
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)


Expand Down Expand Up @@ -499,6 +495,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options_scopes(
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)


Expand Down Expand Up @@ -533,6 +530,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options_credentials_
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)


Expand All @@ -552,6 +550,7 @@ def test_binauthz_management_service_v1_beta1_client_client_options_from_dict():
client_cert_source_for_mtls=None,
quota_project_id=None,
client_info=transports.base.DEFAULT_CLIENT_INFO,
always_use_jwt_access=True,
)


Expand Down