@@ -424,7 +424,7 @@ async def intercept_stream_stream(
424424
425425
426426@pytest .fixture
427- def intercepted_echo_grpc (use_tls ):
427+ def intercepted_echo_grpc (use_mtls , use_tls ):
428428 # The interceptor adds 'showcase-trailer' client metadata. Showcase server
429429 # echoes any metadata with key 'showcase-trailer', so the same metadata
430430 # should appear as trailing metadata in the response.
@@ -433,11 +433,12 @@ def intercepted_echo_grpc(use_tls):
433433 "intercepted" ,
434434 )
435435 host = "localhost:7469"
436- channel = (
437- grpc .secure_channel (host , tls_credentials )
438- if use_tls
439- else grpc .insecure_channel (host )
440- )
436+ if use_mtls :
437+ channel = grpc .secure_channel (host , ssl_credentials )
438+ elif use_tls :
439+ channel = grpc .secure_channel (host , tls_credentials )
440+ else :
441+ channel = grpc .insecure_channel (host )
441442 intercept_channel = grpc .intercept_channel (channel , interceptor )
442443 transport = EchoClient .get_transport_class ("grpc" )(
443444 credentials = ga_credentials .AnonymousCredentials (),
@@ -447,7 +448,7 @@ def intercepted_echo_grpc(use_tls):
447448
448449
449450@pytest_asyncio .fixture
450- async def intercepted_echo_grpc_async (use_tls ):
451+ async def intercepted_echo_grpc_async (use_mtls , use_tls ):
451452 # The interceptor adds 'showcase-trailer' client metadata. Showcase server
452453 # echoes any metadata with key 'showcase-trailer', so the same metadata
453454 # should appear as trailing metadata in the response.
@@ -456,11 +457,12 @@ async def intercepted_echo_grpc_async(use_tls):
456457 "intercepted" ,
457458 )
458459 host = "localhost:7469"
459- channel = (
460- grpc .aio .secure_channel (host , tls_credentials , interceptors = [interceptor ])
461- if use_tls
462- else grpc .aio .insecure_channel (host , interceptors = [interceptor ])
463- )
460+ if use_mtls :
461+ channel = grpc .aio .secure_channel (host , ssl_credentials , interceptors = [interceptor ])
462+ elif use_tls :
463+ channel = grpc .aio .secure_channel (host , tls_credentials , interceptors = [interceptor ])
464+ else :
465+ channel = grpc .aio .insecure_channel (host , interceptors = [interceptor ])
464466 transport = EchoAsyncClient .get_transport_class ("grpc_asyncio" )(
465467 credentials = ga_credentials .AnonymousCredentials (),
466468 channel = channel ,
@@ -476,21 +478,23 @@ def cert_verify(self, conn, url, verify, cert):
476478
477479
478480@pytest .fixture
479- def intercepted_echo_rest (use_tls ):
481+ def intercepted_echo_rest (use_mtls , use_tls ):
480482 transport_name = "rest"
481483 transport_cls = EchoClient .get_transport_class (transport_name )
482484 interceptor = EchoMetadataClientRestInterceptor ()
483485
484- url_scheme = "https" if use_tls else "http"
486+ url_scheme = "https" if ( use_mtls or use_tls ) else "http"
485487 transport = transport_cls (
486488 credentials = ga_credentials .AnonymousCredentials (),
487489 host = "localhost:7469" ,
488490 url_scheme = url_scheme ,
489491 interceptor = interceptor ,
490492 )
491- if use_tls :
493+ if use_mtls or use_tls :
492494 transport ._session .verify = CERT_PATH
493495 transport ._session .mount ("https://" , HostNameIgnoringAdapter ())
496+ if use_mtls :
497+ transport ._session .cert = (CERT_PATH , KEY_PATH )
494498
495499 return EchoClient (transport = transport ), interceptor
496500
0 commit comments