1+ import itertools
12import logging
23
34import pytest
@@ -59,6 +60,8 @@ async def test_set_user_agent_for_session(session: AioSession):
5960@pytest .mark .parametrize (
6061 "service_name, api_version" ,
6162 [
63+ (None , None ),
64+ ("iot" , None ),
6265 ("s3" , None ),
6366 ("s3" , "2006-03-01" ),
6467 ("ec2" , "2016-11-16" ),
@@ -67,35 +70,58 @@ async def test_set_user_agent_for_session(session: AioSession):
6770def test_warm_up_loader_caches (
6871 session : AioSession , service_name , api_version , mocker
6972):
73+ if service_name is None :
74+ services = [
75+ "ec2" ,
76+ "iot" ,
77+ "s3" ,
78+ ]
79+ else :
80+ services = [service_name ]
81+
7082 loader = mocker .Mock ()
7183 get_component = mocker .patch .object (
7284 session , "get_component" , return_value = loader
7385 )
86+ loader .list_available_services .return_value = services
7487
7588 session .warm_up_loader_caches (service_name , api_version )
7689
7790 get_component .assert_called_once_with ("data_loader" )
7891 assert loader .mock_calls == [
92+ # generic calls
93+ mocker .call .load_data_with_path ("_retry" ),
7994 mocker .call .load_data_with_path ("endpoints" ),
80- mocker .call .load_data ("sdk-default-configuration" ),
81- mocker .call .load_service_model (service_name , "waiters-2" , api_version ),
82- mocker .call .load_service_model (
83- service_name , "paginators-1" , api_version
84- ),
85- mocker .call .load_service_model (
86- service_name , type_name = "service-2" , api_version = api_version
87- ),
95+ mocker .call .load_data_with_path ("partitions" ),
96+ mocker .call .load_data_with_path ("sdk-default-configuration" ),
8897 mocker .call .list_available_services (type_name = "service-2" ),
89- mocker .call .load_data ("partitions" ),
90- mocker .call .load_service_model (
91- service_name , "service-2" , api_version = api_version
92- ),
93- mocker .call .load_service_model (
94- service_name , "endpoint-rule-set-1" , api_version = api_version
95- ),
96- mocker .call .load_data ("_retry" ),
97- mocker .call .load_service_model (
98- service_name , "examples-1" , api_version
98+ # service-specific calls
99+ * itertools .chain .from_iterable (
100+ (
101+ mocker .call .load_service_model (
102+ service_name ,
103+ type_name = "service-2" ,
104+ api_version = api_version ,
105+ ),
106+ mocker .call .load_service_model (
107+ service_name , "paginators-1" , api_version
108+ ),
109+ mocker .call .load_service_model (
110+ service_name , "waiters-2" , api_version
111+ ),
112+ mocker .call .load_service_model (
113+ service_name , "service-2" , api_version = api_version
114+ ),
115+ mocker .call .load_service_model (
116+ service_name ,
117+ "endpoint-rule-set-1" ,
118+ api_version = api_version ,
119+ ),
120+ mocker .call .load_service_model (
121+ service_name , "examples-1" , api_version
122+ ),
123+ )
124+ for service_name in services
99125 ),
100126 ]
101127
0 commit comments