13
13
# limitations under the License.
14
14
15
15
import os
16
- from typing import Optional
16
+ from typing import cast , Optional
17
17
import unittest .mock as mock
18
18
19
- import google .api_core .client_info
20
- import google .api_core .client_options
21
- import google .api_core .exceptions
22
- import google .api_core .gapic_v1 .client_info
23
19
import google .auth .credentials
24
20
import google .cloud .bigquery
25
21
import google .cloud .bigquery_connection_v1
26
22
import google .cloud .bigquery_storage_v1
27
23
import google .cloud .functions_v2
28
24
import google .cloud .resourcemanager_v3
25
+ import requests .adapters
29
26
30
27
import bigframes .session .clients as clients
31
28
import bigframes .version
32
29
33
30
34
- def create_clients_provider (application_name : Optional [str ] = None ):
31
+ def create_clients_provider (application_name : Optional [str ] = None , ** kwargs ):
35
32
credentials = mock .create_autospec (google .auth .credentials .Credentials )
36
33
return clients .ClientsProvider (
37
34
project = "test-project" ,
@@ -40,6 +37,7 @@ def create_clients_provider(application_name: Optional[str] = None):
40
37
credentials = credentials ,
41
38
application_name = application_name ,
42
39
bq_kms_key_name = "projects/my-project/locations/us/keyRings/myKeyRing/cryptoKeys/myKey" ,
40
+ ** kwargs ,
43
41
)
44
42
45
43
@@ -127,6 +125,24 @@ def assert_clients_wo_user_agent(
127
125
)
128
126
129
127
128
+ def test_requests_transport_adapters_pool_maxsize (monkeypatch ):
129
+ monkeypatch_client_constructors (monkeypatch )
130
+ requests_transport_adapters = (
131
+ ("http://" , requests .adapters .HTTPAdapter (pool_maxsize = 123 )),
132
+ ("https://" , requests .adapters .HTTPAdapter (pool_maxsize = 123 )),
133
+ ) # doctest: +SKIP
134
+ provider = create_clients_provider (
135
+ requests_transport_adapters = requests_transport_adapters
136
+ )
137
+
138
+ _ , kwargs = cast (mock .Mock , provider .bqclient ).call_args
139
+ requests_session = kwargs .get ("_http" )
140
+ adapter : requests .adapters .HTTPAdapter = requests_session .get_adapter (
141
+ "https://bigquery.googleapis.com/"
142
+ )
143
+ assert adapter ._pool_maxsize == 123 # type: ignore
144
+
145
+
130
146
def test_user_agent_default (monkeypatch ):
131
147
monkeypatch_client_constructors (monkeypatch )
132
148
provider = create_clients_provider (application_name = None )
0 commit comments