@@ -83,44 +83,47 @@ def check_timeout(request: Request) -> Response:
83
83
HTTPClient (timeout_secs = client_timeout ).call (method = 'GET' , url = 'https://example.com' , timeout_secs = call_timeout )
84
84
85
85
86
+ _timeout_params = [
87
+ (DatasetClient , 'get' , dataset ._SMALL_TIMEOUT , {}),
88
+ (DatasetClient , 'update' , dataset ._SMALL_TIMEOUT , {}),
89
+ (DatasetClient , 'delete' , dataset ._SMALL_TIMEOUT , {}),
90
+ (DatasetClient , 'list_items' , 360 , {}),
91
+ (DatasetClient , 'download_items' , 360 , {}),
92
+ (DatasetClient , 'get_items_as_bytes' , 360 , {}),
93
+ (DatasetClient , 'push_items' , dataset ._MEDIUM_TIMEOUT , {'items' : {}}),
94
+ (DatasetClient , 'get_statistics' , dataset ._SMALL_TIMEOUT , {}),
95
+ (KeyValueStoreClient , 'get' , kvs ._SMALL_TIMEOUT , {}),
96
+ (KeyValueStoreClient , 'update' , 360 , {}),
97
+ (KeyValueStoreClient , 'delete' , kvs ._SMALL_TIMEOUT , {}),
98
+ (KeyValueStoreClient , 'list_keys' , kvs ._MEDIUM_TIMEOUT , {}),
99
+ (KeyValueStoreClient , 'get_record' , 360 , {'key' : 'some_key' }),
100
+ (KeyValueStoreClient , 'get_record_as_bytes' , 360 , {'key' : 'some_key' }),
101
+ (KeyValueStoreClient , 'set_record' , 360 , {'key' : 'some_key' , 'value' : 'some_value' }),
102
+ (KeyValueStoreClient , 'delete_record' , kvs ._SMALL_TIMEOUT , {'key' : 'some_key' }),
103
+ (RequestQueueClient , 'get' , request_queue ._SMALL_TIMEOUT , {}),
104
+ (RequestQueueClient , 'update' , kvs ._SMALL_TIMEOUT , {}),
105
+ (RequestQueueClient , 'delete' , kvs ._SMALL_TIMEOUT , {}),
106
+ (RequestQueueClient , 'list_head' , kvs ._SMALL_TIMEOUT , {}),
107
+ (RequestQueueClient , 'list_and_lock_head' , kvs ._MEDIUM_TIMEOUT , {'lock_secs' : 1 }),
108
+ (RequestQueueClient , 'add_request' , kvs ._SMALL_TIMEOUT , {'request' : {}}),
109
+ (RequestQueueClient , 'get_request' , kvs ._SMALL_TIMEOUT , {'request_id' : 'some_id' }),
110
+ (RequestQueueClient , 'update_request' , kvs ._MEDIUM_TIMEOUT , {'request' : {'id' : 123 }}),
111
+ (RequestQueueClient , 'delete_request' , kvs ._SMALL_TIMEOUT , {'request_id' : 123 }),
112
+ (RequestQueueClient , 'prolong_request_lock' , kvs ._MEDIUM_TIMEOUT , {'request_id' : 123 , 'lock_secs' : 1 }),
113
+ (RequestQueueClient , 'delete_request_lock' , kvs ._SMALL_TIMEOUT , {'request_id' : 123 }),
114
+ (RequestQueueClient , 'batch_add_requests' , kvs ._MEDIUM_TIMEOUT , {'requests' : [{}]}),
115
+ (RequestQueueClient , 'batch_delete_requests' , kvs ._SMALL_TIMEOUT , {'requests' : [{}]}),
116
+ (RequestQueueClient , 'list_requests' , kvs ._MEDIUM_TIMEOUT , {}),
117
+ ]
118
+
119
+
86
120
@pytest .mark .parametrize (
87
121
('client_type' , 'method' , 'expected_timeout' , 'kwargs' ),
88
- [
89
- (DatasetClient , 'get' , dataset ._SMALL_TIMEOUT , {}),
90
- (DatasetClient , 'update' , dataset ._SMALL_TIMEOUT , {}),
91
- (DatasetClient , 'delete' , dataset ._SMALL_TIMEOUT , {}),
92
- (DatasetClient , 'list_items' , 360 , {}),
93
- (DatasetClient , 'download_items' , 360 , {}),
94
- (DatasetClient , 'get_items_as_bytes' , 360 , {}),
95
- (DatasetClient , 'push_items' , dataset ._MEDIUM_TIMEOUT , {'items' : {}}),
96
- (DatasetClient , 'get_statistics' , dataset ._SMALL_TIMEOUT , {}),
97
- (KeyValueStoreClient , 'get' , kvs ._SMALL_TIMEOUT , {}),
98
- (KeyValueStoreClient , 'update' , 360 , {}),
99
- (KeyValueStoreClient , 'delete' , kvs ._SMALL_TIMEOUT , {}),
100
- (KeyValueStoreClient , 'list_keys' , kvs ._MEDIUM_TIMEOUT , {}),
101
- (KeyValueStoreClient , 'get_record' , 360 , {'key' : 'some_key' }),
102
- (KeyValueStoreClient , 'get_record_as_bytes' , 360 , {'key' : 'some_key' }),
103
- (KeyValueStoreClient , 'set_record' , 360 , {'key' : 'some_key' , 'value' : 'some_value' }),
104
- (KeyValueStoreClient , 'delete_record' , kvs ._SMALL_TIMEOUT , {'key' : 'some_key' }),
105
- (RequestQueueClient , 'get' , request_queue ._SMALL_TIMEOUT , {}),
106
- (RequestQueueClient , 'update' , kvs ._SMALL_TIMEOUT , {}),
107
- (RequestQueueClient , 'delete' , kvs ._SMALL_TIMEOUT , {}),
108
- (RequestQueueClient , 'list_head' , kvs ._SMALL_TIMEOUT , {}),
109
- (RequestQueueClient , 'list_and_lock_head' , kvs ._MEDIUM_TIMEOUT , {'lock_secs' : 1 }),
110
- (RequestQueueClient , 'add_request' , kvs ._SMALL_TIMEOUT , {'request' : {}}),
111
- (RequestQueueClient , 'get_request' , kvs ._SMALL_TIMEOUT , {'request_id' : 'some_id' }),
112
- (RequestQueueClient , 'update_request' , kvs ._MEDIUM_TIMEOUT , {'request' : {'id' : 123 }}),
113
- (RequestQueueClient , 'delete_request' , kvs ._SMALL_TIMEOUT , {'request_id' : 123 }),
114
- (RequestQueueClient , 'prolong_request_lock' , kvs ._MEDIUM_TIMEOUT , {'request_id' : 123 , 'lock_secs' : 1 }),
115
- (RequestQueueClient , 'delete_request_lock' , kvs ._SMALL_TIMEOUT , {'request_id' : 123 }),
116
- (RequestQueueClient , 'batch_add_requests' , kvs ._MEDIUM_TIMEOUT , {'requests' : [{}]}),
117
- (RequestQueueClient , 'batch_delete_requests' , kvs ._SMALL_TIMEOUT , {'requests' : [{}]}),
118
- (RequestQueueClient , 'list_requests' , kvs ._MEDIUM_TIMEOUT , {}),
119
- ],
122
+ _timeout_params ,
120
123
)
121
124
@respx .mock
122
125
def test_specific_timeouts_for_specific_endpoints_sync (
123
- client_type : type [DatasetClient , KeyValueStoreClient , RequestQueueClient ],
126
+ client_type : type [DatasetClient | KeyValueStoreClient | RequestQueueClient ],
124
127
method : str ,
125
128
kwargs : dict ,
126
129
expected_timeout : int ,
@@ -129,3 +132,20 @@ def test_specific_timeouts_for_specific_endpoints_sync(
129
132
client = client_type (base_url = 'https://example.com' , root_client = ApifyClient (), http_client = HTTPClient ())
130
133
with pytest .raises (EndOfTestError ):
131
134
getattr (client , method )(** kwargs )
135
+
136
+
137
+ @pytest .mark .parametrize (
138
+ ('client_type' , 'method' , 'expected_timeout' , 'kwargs' ),
139
+ _timeout_params ,
140
+ )
141
+ @respx .mock
142
+ async def test_specific_timeouts_for_specific_endpoints_async (
143
+ client_type : type [DatasetClient | KeyValueStoreClient | RequestQueueClient ],
144
+ method : str ,
145
+ kwargs : dict ,
146
+ expected_timeout : int ,
147
+ ) -> None :
148
+ respx .route (host = 'example.com' ).mock (side_effect = partial (assert_timeout , expected_timeout ))
149
+ client = client_type (base_url = 'https://example.com' , root_client = ApifyClient (), http_client = HTTPClient ())
150
+ with pytest .raises (EndOfTestError ):
151
+ await getattr (client , method )(** kwargs )
0 commit comments