1919# limitations under the License.
2020
2121
22+ from contextlib import contextmanager
23+ import warnings
24+
2225import pytest
2326
2427from neo4j .exceptions import (
7275config_function_names = ["consume_chain" , "consume" ]
7376
7477
78+ @contextmanager
79+ def _pool_config_deprecations ():
80+ with pytest .warns (DeprecationWarning ,
81+ match = "update_routing_table_timeout" ) as warnings :
82+ yield warnings
83+
84+
85+ @contextmanager
86+ def _session_config_deprecations ():
87+ with pytest .warns (DeprecationWarning ,
88+ match = "session_connection_timeout" ) as warnings :
89+ yield warnings
90+
91+
7592def test_pool_config_consume ():
7693
7794 test_config = dict (test_pool_config )
7895
79- consumed_pool_config = PoolConfig .consume (test_config )
96+ with _pool_config_deprecations ():
97+ consumed_pool_config = PoolConfig .consume (test_config )
8098
8199 assert isinstance (consumed_pool_config , PoolConfig )
82100
@@ -89,7 +107,8 @@ def test_pool_config_consume():
89107 if key not in config_function_names :
90108 assert test_pool_config [key ] == consumed_pool_config [key ]
91109
92- assert len (consumed_pool_config ) - len (config_function_names ) == len (test_pool_config )
110+ assert (len (consumed_pool_config ) - len (config_function_names )
111+ == len (test_pool_config ))
93112
94113
95114def test_pool_config_consume_default_values ():
@@ -114,7 +133,11 @@ def test_pool_config_consume_key_not_valid():
114133 test_config ["not_valid_key" ] = "test"
115134
116135 with pytest .raises (ConfigurationError ) as error :
117- consumed_pool_config = PoolConfig .consume (test_config )
136+ # might or might not warn DeprecationWarning, but we're only
137+ # interested in the error
138+ with warnings .catch_warnings ():
139+ warnings .filterwarnings ("ignore" , category = DeprecationWarning )
140+ _ = PoolConfig .consume (test_config )
118141
119142 error .match ("Unexpected config keys: not_valid_key" )
120143
@@ -123,7 +146,8 @@ def test_pool_config_set_value():
123146
124147 test_config = dict (test_pool_config )
125148
126- consumed_pool_config = PoolConfig .consume (test_config )
149+ with _pool_config_deprecations ():
150+ consumed_pool_config = PoolConfig .consume (test_config )
127151
128152 assert consumed_pool_config .get ("encrypted" ) is False
129153 assert consumed_pool_config ["encrypted" ] is False
@@ -141,28 +165,37 @@ def test_pool_config_set_value():
141165def test_pool_config_consume_and_then_consume_again ():
142166
143167 test_config = dict (test_pool_config )
144- consumed_pool_config = PoolConfig .consume (test_config )
168+ with _pool_config_deprecations ():
169+ consumed_pool_config = PoolConfig .consume (test_config )
145170 assert consumed_pool_config .encrypted is False
146171 consumed_pool_config .encrypted = "test"
147172
148173 with pytest .raises (AttributeError ):
149- consumed_pool_config = PoolConfig .consume (consumed_pool_config )
174+ _ = PoolConfig .consume (consumed_pool_config )
150175
151- consumed_pool_config = PoolConfig .consume (dict (consumed_pool_config .items ()))
152- consumed_pool_config = PoolConfig .consume (dict (consumed_pool_config .items ()))
176+ with _pool_config_deprecations ():
177+ consumed_pool_config = PoolConfig .consume (
178+ dict (consumed_pool_config .items ())
179+ )
180+ with _pool_config_deprecations ():
181+ consumed_pool_config = PoolConfig .consume (
182+ dict (consumed_pool_config .items ())
183+ )
153184
154185 assert consumed_pool_config .encrypted == "test"
155186
156187
157188def test_config_consume_chain ():
158189
159190 test_config = {}
160-
161191 test_config .update (test_pool_config )
162-
163192 test_config .update (test_session_config )
164193
165- consumed_pool_config , consumed_session_config = Config .consume_chain (test_config , PoolConfig , SessionConfig )
194+ with warnings .catch_warnings ():
195+ warnings .filterwarnings ("ignore" , category = DeprecationWarning )
196+ consumed_pool_config , consumed_session_config = Config .consume_chain (
197+ test_config , PoolConfig , SessionConfig
198+ )
166199
167200 assert isinstance (consumed_pool_config , PoolConfig )
168201 assert isinstance (consumed_session_config , SessionConfig )
@@ -176,9 +209,11 @@ def test_config_consume_chain():
176209 if key not in config_function_names :
177210 assert test_pool_config [key ] == val
178211
179- assert len (consumed_pool_config ) - len (config_function_names ) == len (test_pool_config )
212+ assert (len (consumed_pool_config ) - len (config_function_names )
213+ == len (test_pool_config ))
180214
181- assert len (consumed_session_config ) - len (config_function_names ) == len (test_session_config )
215+ assert (len (consumed_session_config ) - len (config_function_names )
216+ == len (test_session_config ))
182217
183218
184219def test_init_session_config_merge ():
@@ -226,3 +261,21 @@ def test_init_session_config_with_not_valid_key():
226261 _ = SessionConfig .consume (test_config_b )
227262
228263 assert session_config .connection_acquisition_timeout == 333
264+
265+
266+ def test_pool_config_deprecated_update_routing_table_timeout ():
267+ with _pool_config_deprecations ():
268+ _ = PoolConfig .consume ({"update_routing_table_timeout" : 1 })
269+
270+ with warnings .catch_warnings ():
271+ warnings .simplefilter ("error" )
272+ _ = PoolConfig .consume ({})
273+
274+
275+ def test_session_config_deprecated_session_connection_timeout ():
276+ with _session_config_deprecations ():
277+ _ = SessionConfig .consume ({"session_connection_timeout" : 1 })
278+
279+ with warnings .catch_warnings ():
280+ warnings .simplefilter ("error" )
281+ _ = SessionConfig .consume ({})
0 commit comments