@@ -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