@@ -490,18 +490,49 @@ def test_load_from_string_versioned(self):
490490 def test_get_service (self ):
491491 # Retrieve service names for all defined service clients.
492492 for ver in valid_versions :
493- services_path = f"google. ads. googleads. { ver } "
494- service_names = [
495- f' { name . rsplit ( "ServiceClient" )[ 0 ] } Service'
496- for name in dir ( import_module ( services_path ))
497- if "ServiceClient" in name
493+ services_filepath = f"google/ ads/ googleads/ { ver } /services/services "
494+ # Retrieve list of all the services that exist under the
495+ # {version}/services/services directory.
496+ service_dir_names = [
497+ name for name in os . listdir ( services_filepath ) if name . endswith ( "_service" )
498498 ]
499499
500- client = self ._create_test_client ()
500+ client = self ._create_test_client (version = ver )
501+
502+ for dir_name in service_dir_names :
503+ # Converts from snake case to title case, for example:
504+ # google_ads_service --> GoogleAdsService
505+ service_name = '' .join (
506+ [part .capitalize () for part in dir_name .split ("_" )]
507+ )
508+
509+ # Load each service module
510+ svc = client .get_service (service_name )
511+ self .assertEqual (svc .__class__ .__name__ , f"{ service_name } Client" )
512+
513+ def test_get_async_service (self ):
514+ # Retrieve service names for all defined service clients.
515+ for ver in valid_versions :
516+ services_filepath = f"google/ads/googleads/{ ver } /services/services"
517+ # Retrieve list of all the services that exist under the
518+ # {version}/services/services directory.
519+ service_dir_names = [
520+ name for name in os .listdir (services_filepath ) if name .endswith ("_service" )
521+ ]
522+
523+ client = self ._create_test_client (version = ver )
524+
525+ for dir_name in service_dir_names :
526+ # Converts from snake case to title case, for example:
527+ # google_ads_service --> GoogleAdsService
528+ service_name = '' .join (
529+ [part .capitalize () for part in dir_name .split ("_" )]
530+ )
531+
532+ # Load each service module
533+ svc = client .get_service (service_name , is_async = True )
534+ self .assertEqual (svc .__class__ .__name__ , f"{ service_name } AsyncClient" )
501535
502- # Iterate through retrieval of all service clients by name.
503- for service_name in service_names :
504- client .get_service (service_name , version = ver )
505536
506537 def test_get_service_custom_endpoint (self ):
507538 service_name = "GoogleAdsService"
0 commit comments